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
Libérer: 2025-01-13 16:22:17
original
410 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal