Linq - 如何执行加入ForEach语句?

时间:2011-01-25 18:48:16

标签: c# linq entity-framework

我见过的Linq Join示例在创建匿名类型时说明了Join的热点。如何在ForEach语句中执行Join。

e.g。

foreach (item i in MyContext.SomeEntity.Include("NavigationProperty1").Include("NavigationProperty2").Join(MyContext.SomeEntity2 on id == id)
{
}

谢谢!

1 个答案:

答案 0 :(得分:1)

好吧,你试图将查询语法与直接调用扩展方法混合在一起 - 这不会起作用。

但是连接的结果是一系列,实际上是成对的,它们有一些共同的属性。目前尚不清楚“商品”来自何处 - 您希望SomeEntitySomeEntity2中的每一对转变为item

您的电话可能最终会看起来像:

...Join(MyContext.SomeEntity2, x => x.id, y => y.id, (x, y) => !!!)
那里!!!是从一对实体到单个有用值的投影。

有关Join方法的工作原理的详情,请参阅part 19 of my Edulinq blog series