假设在我的模型中我有一个计算属性 A
,它依赖于 B
和 C.D
。
是否可以制作
.Include("A")
等于
.Include("B").Include("C.D")
在实体表达式的 linq 中?
最佳答案
不,这不可能。 Include指定要包含在查询结果中的相关对象(即要连接的表)。因此 A
不是相关对象,而是一个简单的计算属性,因此无法包含它。
受@CodeCaster 的启发——如果你不想为这个实体创建存储库,你可以编写扩展方法来执行包含
public static IQueryable<Foo> IncludeA(this DbSet<Foo> foos)
{
return foos.Include("B").Include("C.D");
}
用法:
db.Foos.IncludeA()
关于c# - 计算属性的显式加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21111124/