部分渴望加载子实体(加载特定的文件)
本文关键字:加载 文件 实体 渴望 | 更新日期: 2023-09-27 17:58:56
我搜索了一下,知道我可以使用投影来部分加载实体,问题变成了有没有方法可以部分急切地加载子对象?假设我有以下
实体A具有
Id
Name
EntityB
实体B具有
Id
StuffToBeLoaded1
StuffToBeLoaded2
OtherStuffNotToBeLoaded
如何用B加载A,而B只有stuffToBeLoaded1和stuffToBeLoaded2?我想我不能打电话了。Inlucde("EntityB"),否则它已完全加载,是吗?
您必须对投影使用自定义查询。如果EntityB
属性表示集合,则可以使用以下内容:
var query = from a in context.EntitiesA
select new
{
a.Id,
a.Name,
Bs = a.EntityB.Select(b => new {
b.StuffToBeLoaded1,
b.StuffToBeLoaded2
})
};
如果EntityB
不是集合导航属性,您可以简单地使用:
var query = from a in context.EntitiesA
select new
{
a.Id,
a.Name,
a.EntityB.StuffToBeLoaded1,
a.EntityB.StuffToBeLoaded2
};