Maison >développement back-end >C++ >Comment ignorer d'abord les propriétés dans le code Entity Framework ?

Comment ignorer d'abord les propriétés dans le code Entity Framework ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-13 16:18:42865parcourir

How to Ignore Properties in Entity Framework Code First?

Propriétés ignorées dans Entity Framework 4.1 Code First

Dans Entity Framework (EF) 4.1 Code First, il est possible d'exclure certaines propriétés du mappage de base de données à l'aide de l'annotation de données de propriété [NotMapped]. Cette annotation s'applique à la propriété correspondante dans la classe d'entité.

<code class="language-csharp">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>
L'attribut

[NotMapped] fait partie de l'espace de noms System.ComponentModel.DataAnnotations.

Vous pouvez également utiliser l'API Fluent pour remplacer la fonction OnModelCreating dans la classe DbContext.

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

Veuillez noter que la version EF suggérée dans la question d'origine est obsolète. La dernière version stable de NuGet est EF 4.3.

Mise à jour (septembre 2017) : Asp.NET Core (2.0)

Pour Asp.NET Core 2.0 et supérieur, vous pouvez utiliser l'attribut [NotMapped] mentionné précédemment. De plus, l'API Fluent peut être utilisée comme suit :

<code class="language-csharp">public class SchoolContext : DbContext
{
    public SchoolContext(DbContextOptions<SchoolContext> options) : base(options)
    {
    }
    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Customer>().Ignore(t => t.FullName);
        base.OnModelCreating(modelBuilder);
    }
    public DbSet<Customer> Customers { get; set; }
}</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