我正在尝试从包含多个包含的上下文中获取特定列,但是当我尝试时:
Context.Include(i => i.c)
.Include(i => i.l).Select(s=> new LocationCatalog { Name = s.Name})
.Include(i => i.p)
.Include(i => i.li)
.Include(i => i.pcl)
VS在选择后抛出错误。
我怎样才能做到这一点?我想为每个include指定列。
错误说明例如:i.p不包含i.l
的定义答案 0 :(得分:1)
实体框架无法实现这一点。你可以包括整个表格(正如你所做的那样Include
),或者你根本不包括它。
如果您只想加载特定列,可以执行此操作,但请查看它是如何进行手动处理的:
Context
.Select(i => new YourType
{
c = i.l,
l = i.l,
x = new X
{
a = i.x.a // only the properties you want here
}
...
});
您使用Select
的那一刻,Include
完全被忽略,因此您无法同时使用它们。