C# 使用Lambda查询集合/联接表

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

我有一个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 = 
    _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