阴影属性
- 未在 .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"));