2020-03-31 17:00 阴影属性

阴影属性

  • 未在 .NET 实体类中定义但在 EF Core 模型中为该实体类型定义的属性
  • 这些属性的值和状态纯粹在更改跟踪器中进行维护
  • 这个属性会在表中存在对应的列.

定义阴影属性

  • 明确定义阴影字段
    modelBuilder.Entity<Blog>() .Property<DateTime>("LastUpdated");

如果提供给 Property 方法的名称与现有属性(在实体类中定义)的名称相匹配,则代码将配置该现有属性,而不是引入新的阴影属性。

  • 外键如果没有使用 [ForeignKey] 或者 HasForeignKey("BlogId") 指定外键列的名称,也将产生一个阴影字段

访问阴影属性

  • ChangeTracker
    context.Entry(myBlog).Property("LastUpdated").CurrentValue = DateTime.Now;

  • LINQ
    var blogs = context.Blogs .OrderBy(b => EF.Property<DateTime>(b, "LastUpdated"));

很明显,阴影属性在数据库更新后自动回填到实体之中

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。