【发布时间】:2013-12-18 12:29:01
【问题描述】:
我有一个 Linq 查询来查询以下表格:具有一对多链接的任务:TaskLinks 和 TaskLinks 具有指向名为实体的表的一对一链接。
我正在尝试选择任务,急切加载(通过 .Include)TaskLinks 并选择链接到 TaskLink 的实体。但我需要过滤任务(按访问级别 int)和任务链接,以便不包含任何非活动(布尔)记录。
这是我的 Linq 查询:
Tasks.Where(t => t.AccessLevel <= 5)
.Include(tl => tl.TaskLinks.Where(tl2=> tl2.IfInactive == false)
.Select(tls => tls.Entity))
我在 LinqPad 中运行此查询,我收到以下我不理解的错误:
ArgumentException:包含路径表达式必须引用在类型上定义的导航属性。对引用导航属性使用虚线路径,对集合导航属性使用 Select 运算符。 参数名称:路径
如何重新编写此查询,以便过滤包含的任务链接并选择实体?
提前谢谢你!!
鲍勃
【问题讨论】:
-
如果您只需要
Entity,您可以Join表格并按AccessLevel和IfInactive过滤。
标签: c# sql entity-framework linq-to-entities