【发布时间】:2015-10-29 15:44:34
【问题描述】:
假设我有一个 Order 和 OrderDetails 集合。如何在 LINQ 中编写以下 sql(查询或流利的语法)?
选择前 1 个 OD.ProductId
从订单 O
OD.OrderID = 1 上的内部连接 OrderDetail OD
and OD.OrderId = O.OrderId
and ((OD.OrderDate = O.OrderDate) or (OD.OrderDate is null))
其中 O.CustomerId = 2
按 OD.OrderDate 顺序排序
我知道我可以创建一个匿名类型,其中包含要匹配的所有列以进行连接,但是如何为内部连接编写条件逻辑,如上所述 BOLD
【问题讨论】:
-
它不一定是连接的一部分。你可以写一个简单的Where。
-
嗨格特谢谢。请问可以提供示例代码吗?
-
@SyedDanish:这应该是一个微不足道的查询转换,所以很难知道你遇到了什么困难。您能否向我们展示您已经编写的 LINQ 代码,以及您遇到困难的具体部分?
-
@StriplingWarrior,我基本上是在问是否可以在 linq 连接中对“复合键”进行“条件”比较?可能是我发布的示例不适合该目的,并且可以在不使用连接的情况下在 Linq 中重写,但是我会更新我的问题以使其更清楚。
标签: c# linq join linq-to-entities inner-join