如何使用 lambda 表达式使用 EXIST 和 NOT EXIST 子句
How to use EXIST and NOT EXIST clause using lambda expression
我正在尝试过滤掉没有“已交付”事件类型但工作正常的订单。
List<Order> matchingOrders = xyzContext.Orders.Where(
o => o.FacilityId == facility.MasterFacilityId
&& rxNumberList.Contains(o.RxNumber)
&& o.OrderEvents.All(oe => oe.EventType.Code != EventTypeCode.Delivered)).ToList();
之后,我尝试过滤具有事件类型 "Ordered" 且不具有事件类型 "Delivered" 的订单,但我没有得到预期的结果。
List<Order> matchingOrders = xyzContext.Orders.Where(
o => o.FacilityId == facility.MasterFacilityId
&& rxNumberList.Contains(o.RxNumber)
&& o.OrderEvents.All(oe => oe.EventType.Code != EventTypeCode.Delivered && oe.EventType.Code == EventTypeCode.Ordered)).ToList();
试试这个:
List<Order> matchingOrders = xyzContext.Orders.Where(
o => o.FacilityId == facility.MasterFacilityId
&& rxNumberList.Contains(o.RxNumber)
&& o.OrderEvents.All(oe => oe.EventType.Code != EventTypeCode.Delivered)
&& o.OrderEvents.Any(oe.EventType.Code == EventTypeCode.Ordered)).ToList();
我正在尝试过滤掉没有“已交付”事件类型但工作正常的订单。
List<Order> matchingOrders = xyzContext.Orders.Where(
o => o.FacilityId == facility.MasterFacilityId
&& rxNumberList.Contains(o.RxNumber)
&& o.OrderEvents.All(oe => oe.EventType.Code != EventTypeCode.Delivered)).ToList();
之后,我尝试过滤具有事件类型 "Ordered" 且不具有事件类型 "Delivered" 的订单,但我没有得到预期的结果。
List<Order> matchingOrders = xyzContext.Orders.Where(
o => o.FacilityId == facility.MasterFacilityId
&& rxNumberList.Contains(o.RxNumber)
&& o.OrderEvents.All(oe => oe.EventType.Code != EventTypeCode.Delivered && oe.EventType.Code == EventTypeCode.Ordered)).ToList();
试试这个:
List<Order> matchingOrders = xyzContext.Orders.Where(
o => o.FacilityId == facility.MasterFacilityId
&& rxNumberList.Contains(o.RxNumber)
&& o.OrderEvents.All(oe => oe.EventType.Code != EventTypeCode.Delivered)
&& o.OrderEvents.Any(oe.EventType.Code == EventTypeCode.Ordered)).ToList();