How can I stop EF 7 mapping an entity property to a column?

后端 未结 2 2019
傲寒
傲寒 2021-02-19 11:07

In EF 6, I can add a NotMapped attribute to the property, then it will not be mapped to a column. How can I do this in EF 7?

相关标签:
2条回答
  • 2021-02-19 11:43

    Just to add on to Ricky and bricelam's answer,

    There are two ways to ignore a property:

    1. Data annotations on model

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

    0 讨论(0)
  • 2021-02-19 11:52

    We haven't implemented data annotations yet. (See #107) You should be able to do it using the Fluent API.

    modelBuilder.Entity<MyEntity>().Ignore(e => e.NotMappedProperty);
    
    0 讨论(0)
提交回复
热议问题