我搜索了一下,并且明白我可以use projection to partially load an entity,问题变成是否有办法让部分渴望装载孩子? 说我有以下
实体A有
Id
Name
EntityB
和实体B有
Id
StuffToBeLoaded1
StuffToBeLoaded2
OtherStuffNotToBeLoaded
如何用B加载A,B只有stuffToBeLoaded1和stuffToBeLoaded2? 我想我不能打电话.Inlucde(“EntityB”)否则它已满载,是吗?
答案 0 :(得分:3)
您必须对投影使用自定义查询。如果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
};