【发布时间】:2017-09-15 18:41:09
【问题描述】:
假设我有一个包含 2 个或多个 customerIds 的列表和一个包含两个或多个订单日期的列表。我想要一个从 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 和订单日期的列表不固定,因此我需要在构建查询时对其进行循环。
【问题讨论】:
-
如果您需要任何实际帮助,您将不得不添加更多代码和上下文
-
SELECT * FROM Orders where CustomerId IN (@CustomerId1, @CustomerId2) AND OrderDate IN (@OrderDate1 , @OrderDate2)可能会更好 - 但是请展示您现有的 C# 代码。 -
这只是一个例子来说明我需要什么。我需要的是一种从具有信息的多个列表/数组中生成 OR 和 AND 条件的方法。它不能做成像你的例子那样的东西,比如这个链接。来自 Order in Orders where ListWithOrders.Containts(Order.OrderId) && (Order.OrderDate == OrderDate1 || Order.OrderDate == OrderDate2)..
-
是的。如果您可以向我们展示您现有的 LINQ to SQL 代码,我们可以给您一些指导。
标签: c# linq-to-sql