我有一些我需要加入的表。表x,b,c正常加入,我将称之为J1。 表x,d是我称为J2的另一个正常连接。复杂的LINQ SelectMany
现在我需要将J1和J2连接在一起。对于J1中的每一行,J2中可能有多个相关的行。表x有一个日期字段和其他条件(它们很容易设置并且在组连接中),但是我需要获得最新的/最高的J2行。表x有一个日期字段,基本上对于J1中的每一行,我可以在J2中有多行,并且我需要获取最近的一行。
我有适合J1的连接。 J2的连接也已到位,作为J1上GroupJoin的第一个元素。
在哪里,我完全失去了两个问题:
在一个点上,我需要按日期过滤掉。 J1 * x x条目必须晚于J1的 (可能会有更旧的条目)。
选择许多需要采取最新的,这将牵连一些排序,但我没有成功添加排序。我在哪里放?我有GroupJoin,随后是SelectMany。我在哪里放入OrderBy?
注意我需要lambda语法;我不能将它改写成另一种形式。
帮助理解
请修复您的问题中的拼写错误。 – 2011-04-15 07:23:42
你的问题目前还不清楚,主要是因为它相当抽象。如果你能给出一个你想要做的具体例子,那真的会有所帮助。另外,如果第一次连接是无关紧要的,那么从等式中删除它是值得的。 – 2011-04-15 07:29:57
我知道。这是相当突出的。可悲的是,查询本身现在跨越了两页。内赫和外连接之间的特赫有大约十几个固定条件。这不是无关紧要的,btw ...基本上,J1有数据,J2有一些额外的数据可以在J1中的每个项目中使用,如果有的话,我们需要最新的最新版本。 – TomTom 2011-04-15 08:00:45