LINQ CASE-Anweisungen: Ein genauerer Blick
In LINQ-Abfragen bietet die CASE-Anweisung eine prägnante Möglichkeit, mehrere Bedingungen auszuwerten und unterschiedliche Werte zurückzugeben basierend auf den Ergebnissen. Für das Schreiben komplexer LINQ-Abfragen ist es wichtig zu verstehen, wie CASE-Anweisungen effektiv verwendet werden.
In Ihrem speziellen Fall versuchen Sie, eine CASE-Anweisung zu verwenden, um den Lagerstatus für Artikel von „Produktion“ auf „Handelsstandort“ zu aktualisieren. Während Ihr Code Artikel korrekt auswählt, deren Handheld-Flags auf „Y“ und verfügbarer Lagerbestand gesetzt sind, implementiert er die CASE-Anweisung nicht.
Um die CASE-Anweisung in LINQ zu integrieren, können Sie den ternären Bedingungsoperator ( ? :), wodurch Sie eine Bedingung auswerten und basierend auf dem Ergebnis unterschiedliche Werte zurückgeben können. Die Syntax für den ternären Bedingungsoperator lautet:
condition ? value_if_true : value_if_false
In Ihrem Fall kann die CASE-Anweisung in LINQ wie folgt ausgedrückt werden:
cdsDBDataContext db = new cdsDBDataContext(); var query = from items in db.cdsItems where items.ItemHandHeldFlag.Equals("Y") select new { Items = items, ProductsQuantity = items.ItemQtyOnHand - items.ItemQtyCommitted > 0 ? 100000 : 0 };
Diese Abfrage aktualisiert die Eigenschaft „ProductsQuantity“. jedes Elements im Ergebnissatz basierend auf den Bedingungen in der CASE-Anweisung. Wenn der Artikel einen positiven verfügbaren Lagerbestand hat, wird die „ProductsQuantity“ auf 100000 gesetzt; andernfalls wird es auf 0 gesetzt.
Das obige ist der detaillierte Inhalt vonWie kann ich CASE-Anweisungen (oder deren Äquivalent) in LINQ verwenden, um den Lagerstatus zu aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!