复杂的LINQ SelectMany

时间:2011-04-15 07:21:30

标签: linq

我需要加入一些表格。表x,b,c正常连接,我称之为J1。 表x,d是我称之为J2的另一个普通连接。

现在我需要将J1和J2连接在一起。对于J1中的每一行,J2中可能存在多个相关行。表x有一个日期字段和其他条件(易于设置并在组连接中),但我需要获得最新/最高的J2行。表x有一个日期字段,基本上对于J1中的每一行,我可以在J2中有多行,我需要获取最新的一行。

我有J1的连接到位。 J2的连接也就位,作为J1上GroupJoin的第一个元素。

我完全迷失的地方有两个问题:

  • 有一次,我需要按日期过滤掉。 J1 * x x条目必须晚些 比J1(可能有较旧的)。

  • Select Many需要采用最新的一个,这会暗示某些顺序,但我没有成功添加排序。我把它放在哪里?我有GroupJoin,然后是SelectMany。我在哪里放入OrderBy?

注意我需要lambda语法;我无法将其重写为另一种形式。

感谢帮助

1 个答案:

答案 0 :(得分:0)

<强>条件:

1)J1(单线)(x,b,c)= J2(多线)(x,d)

2)J2.x具有订购日期字段

3)J2.x条目必须晚于J1.x

4)J2.x按日期过滤

如果正确