• 包含和排除属性
    • 惯例
    • 数据注解
    • 流式 API

    包含和排除属性

    将属性包含到模型中意味着 EF 将获得该属性的元数据,并且将尝试从数据库读取该属性的值或将该属性的值写入到数据库。

    惯例

    按照惯例,具有 getter 和 setter 访问器的公共(public)属性将被包含在模型中。

    数据注解

    可以使用数据注解将属性从模型中排除。

    1. public class Blog
    2. {
    3. public int BlogId { get; set; }
    4. public string Url { get; set; }
    5. [NotMapped]
    6. public DateTime LoadedFromDatabase { get; set; }
    7. }

    流式 API

    可以使用流式 API 将属性从模型中排除。

    1. class MyContext : DbContext
    2. {
    3. public DbSet<Blog> Blogs { get; set; }
    4. protected override void OnModelCreating(ModelBuilder modelBuilder)
    5. {
    6. modelBuilder.Entity<Blog>()
    7. .Ignore(b => b.LoadedFromDatabase);
    8. }
    9. }
    10. public class Blog
    11. {
    12. public int BlogId { get; set; }
    13. public string Url { get; set; }
    14. public DateTime LoadedFromDatabase { get; set; }
    15. }