Comment puis-je empêcher EF 7 de mapper une propriété d'entité sur une colonne?

entity-framework-core

Question

Dans EF 6, je peux ajouter un attribut NotMapped à la propriété, il ne sera pas mappé sur une colonne. Comment puis-je faire cela dans EF 7?

Réponse acceptée

Nous n'avons pas encore implémenté les annotations de données. (Voir # 107 ) Vous devriez pouvoir le faire en utilisant l'API Fluent.

modelBuilder.Entity<MyEntity>().Ignore(e => e.NotMappedProperty);

Réponse populaire

Juste pour ajouter à la réponse de Ricky et bricelam,

Il y a deux façons d'ignorer une propriété:

  1. Annotations de données sur le modèle

    public class Blog
    {
        public int BlogId { get; set; }
        public string Url { get; set; }
    
        [NotMapped]
        public DateTime LoadedFromDatabase { get; set; }
    }
    
  2. API Fluent écrasant OnModelCreating

    class MyContext : DbContext
     {
         public DbSet<Blog> Blogs { get; set; }
    
         protected override void OnModelCreating(ModelBuilder modelBuilder)
         {
             modelBuilder.Entity<Blog>()
             .Ignore(b => b.LoadedFromDatabase);
         }
     }
    
     public class Blog
     {
         public int BlogId { get; set; }
         public string Url { get; set; }
    
         public DateTime LoadedFromDatabase { get; set; }
     }
    

Documentation disponible ici .



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi