在LINQ中获取使用特定产品购买的其他物品?

时间:2017-10-30 18:13:58

标签: sql linq

我有以下两个表:

  • 订单:Id,其他信息
  • 产品:Id,名称,其他信息
  • OrderProduct:OrderId,ProductId,其他信息

我们都知道两个订单可以包含多个产品,在这两个订单之间,它们可以有一个或多个共同的产品。

用于拉动特定产品购买的其他不同产品的LINQ是什么?答案是普通的SQL,但我需要LINQ等价物。

1 个答案:

答案 0 :(得分:0)

var matchingOrders = from op in OrderProduct
                     where op.ProductId == desiredProductId
                     select OrderId;
var otherProductsOnSameOrder = (from op in OrderProduct
                                where matchingOrders.Contains(op.OrderId) && op.ProductId != desiredProductId
                                select op.ProductId).Distinct();