【发布时间】:2015-10-14 22:51:29
【问题描述】:
我已经定义了实体 Foo 和 Bar,这样 Foo 就有一个非映射的 Bar。 Bar 未映射的原因是,给定的 Foo 可能会映射到许多不同的单个 Bars,具体取决于执行代码时传入的 GroupingId。
我的目标是传回带有 Bar 导航属性的 Foo 实体集合(如果存在),下面是我目前尝试执行此操作的代码,但未成功。
var stuff = _Repository.Find<Foo>(x => Codes.Contains(x.Code))
.GroupJoin(_Repository.Find<Bar>(y => y.GroupingId == groupingId),
x => barId,
y => Id,
(x, y) => x.Bar = y.FirstOrDefault());
错误是无法从用法中推断出类型参数,我认为这是因为我没有指定在将 y 绑定到 Bar 属性后需要返回 x。
我是否需要声明一个匿名函数来执行此操作,这是否适用于实体框架?
【问题讨论】:
-
不要改变查询中的对象,创建一个包含您想要的所有信息的新对象。
标签: c# entity-framework linq