1
Ich versuche, Aufträge zu filtern, die Lieferung nicht einen Ereignistyp hat und das funktioniert gut.Wie EXIST verwenden und NOT EXIST-Klausel Ausdruck mit Lambda
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();
Danach versuche ich, Aufträge zu filtern, die Event-Typ „bestellt“ hat und Ereignistyp „Delivered“ nicht haben, und ich bin nicht erwartete Ergebnis bekommen.
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();
Dieser Code sollte wie folgt geschrieben arbeiten. Möglicherweise liegt ein Grundproblem bei der Verwaltung der Codewerte vor. –
Was bekommen Sie stattdessen? Außerdem: Was ist 'EventTypeCode'? Ist es eine bitweise kombinierte Enum oder enthält es nur einen einzigen Enum-Wert? – HimBromBeere
@HimBromBeere EventTypeCode ist eine Enumeration, die viele Ereignistypcodes und Beschreibungen enthält. – alkprksh