如何停止EF 7將實體屬性映射到列?

entity-framework-core

在EF 6中,我可以向屬性添加NotMapped屬性,然後它將不會映射到列。我怎樣才能在EF 7中做到這一點?

一般承認的答案

我們還沒有實現數據註釋。 (參見#107 )您應該可以使用Fluent API來完成它。

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

熱門答案

只是為了增加Ricky和bricelam的答案,

有兩種方法可以忽略屬性:

  1. 模型上的數據註釋

    public class Blog
    {
        public int BlogId { get; set; }
        public string Url { get; set; }
    
        [NotMapped]
        public DateTime LoadedFromDatabase { get; set; }
    }
    
  2. Fluent API覆蓋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; }
     }
    

文檔可在此處獲得



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow