C# 使用Lambda查询集合/联接表
我有一个lambda“where”查询,查询订单表如下:C# 使用Lambda查询集合/联接表,c#,lambda,C#,Lambda,我有一个lambda“where”查询,查询订单表如下: List<Order> returnedOrders = _session.Query<Script>()Where(s => s.orderId == orderIdParam).ToList(); 有人能帮我找到正确的语法吗?您可以在Where方法中使用逻辑AND(&&): var date = new Date(2013,1,1); List<Order> returnedOrders
List<Order> returnedOrders = _session.Query<Script>()Where(s => s.orderId == orderIdParam).ToList();
有人能帮我找到正确的语法吗?您可以在Where
方法中使用逻辑AND(&&
):
var date = new Date(2013,1,1);
List<Order> returnedOrders =
_session.Query<Script>()
.Where(s =>
s.orderId == orderIdParam &&
s.OrderDetails.Any(d => d.CreatedDate == date))
.ToList();
既然你知道秩序号,它看起来没用,但像这样的东西
from order in orders
from detail in order.Details
where
order.Id = orderId &&
order.Id == detail.OrderId &&
detail.CreateDate == createDate
select order
我是这么想的,但是我没有得到intellisense中orderdetails的列名。s、 Orderdetails是一个IList,它很有帮助,所以我得到了诸如s.Orderdetails.Remove、s.Orderdetails.First等列表操作。
var date = new Date(2013,1,1);
List<Order> returnedOrders =
_session.Query<Script>()
.Where(s => s.orderId == orderIdParam)
.Where(s => s.OrderDetails.Any(d => d.CreatedDate == date))
.ToList();
from order in orders
from detail in order.Details
where
order.Id = orderId &&
order.Id == detail.OrderId &&
detail.CreateDate == createDate
select order