2017-09-14 25 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).. –

回答