Maison >développement back-end >C++ >Comment ignorer les propriétés de classe dans Entity Framework 4.1 et versions ultérieures ?

Comment ignorer les propriétés de classe dans Entity Framework 4.1 et versions ultérieures ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-13 16:22:17416parcourir

How to Ignore Class Properties in Entity Framework 4.1 and Later?

Ignorer les attributs de classe dans Entity Framework 4.1 Code First

Après avoir compris les limites de NotAvailableUntil dans EF 5, explorons des alternatives pour ignorer les propriétés dans EF 4.1.

Annotation des données

Utilisez l'annotation de propriété NotMapped pour exclure des propriétés spécifiques du mappage Code-First. Par exemple :

<code>public class Customer
{
    public int CustomerID { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    [NotMapped]
    public int Age { get; set; }
}</code>

API fluide

Vous pouvez également utiliser l'API Fluent en remplaçant la fonction OnModelCreating :

<code>protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
   modelBuilder.Entity<Customer>().Ignore(t => t.LastName);
   base.OnModelCreating(modelBuilder);
}</code>

Correction de la différence [NotMapped]

L'attribut [NotMapped] devrait empêcher la création de colonnes dans la base de données. Si des colonnes sont toujours créées malgré l’utilisation d’annotations, vérifiez que vous utilisez la dernière version d’EF (4.3).

Asp.NET Core 2.0 et supérieur

Dans Asp.NET Core 2.0, vous pouvez toujours utiliser l'annotation d'attribut NotMapped :

<code>public class Customer
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    [NotMapped]
    public int FullName { get; set; }
}</code>

Ou utilisez l'API Fluent dans votre classe SchoolContext :

<code>protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<Customer>().Ignore(t => t.FullName);
    base.OnModelCreating(modelBuilder);
}</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn