2017-09-14 31 views
-1

假设我有一个包含两个或多个customerIds的列表和一个包含两个或多个订单日期的列表。我想这样的LINQ从SQL查询为sql如何用LINQ将这个SQL写入sql

SELECT * 
FROM Orders 
WHERE (CustomerId = @CustomerId1 
     AND (OrderDate = @OrderDate1 OR OrderDate = @OrderDate2)) 
     OR 
     (CustomerId = @CustomerId2 
     AND (OrderDate = @OrderDate1 OR OrderDate = @OrderDate2)) 

与CustomerIds和订单日期的列表是不固定的,所以我建立查询时需要遍历它。

+0

找到了一个解决方案,通过使用PredicateBuilder 你将不得不如果你希望的任何实际的帮助 – maccettura

+0

这很可能会更好,因为'选择要添加更多的代码和上下文* FROM订单,其中 客户ID IN(@ CustomerId1,@ CustomerId2)AND OrderDate IN(@ OrderDate1,@ OrderDate2)' - 但是请显示您现有的C#代码。 – mjwills

+0

这只是一个例子来说明我需要什么。我需要的是一种从多个带有信息的列表/数组中生成OR和AND条件的方法。它不能被做成像你的例子一样,就像这个链接。从订单在订单其中ListWithOrders.Containts(Order.OrderId)&&(Order.OrderDate == OrderDate1 || Order.OrderDate == OrderDate2).. –

回答