Heim > Datenbank > MySQL-Tutorial > Wie kann ich die CASE-Anweisungslogik in LINQ für die bedingte Wertzuweisung implementieren?

Wie kann ich die CASE-Anweisungslogik in LINQ für die bedingte Wertzuweisung implementieren?

Patricia Arquette
Freigeben: 2025-01-11 19:17:42
Original
740 Leute haben es durchsucht

How Can I Implement CASE Statement Logic in LINQ for Conditional Value Assignment?

Verwendung der CASE-Anweisung in LINQ

LINQ (C#) ermöglicht die Verwendung von CASE-Anweisungslogik, um bedingte Wertzuweisungen basierend auf bestimmten Bedingungen durchzuführen.

Der folgende Codeausschnitt zeigt, wie Sie mit der CASE-Anweisung dem Attribut osc_products in der Tabelle products_quantity einen Wert zuweisen. Die Zuweisungsregeln lauten wie folgt:

  • Wenn itempromoflag nicht gleich „N“ ist, dann setzen Sie products_quantity auf 100.000.
  • Wenn itemcat1 gleich „1“, „2“ oder „31“ ist und itemsalestatus gleich „S“, dann setzen Sie products_quantity auf 100.000.
  • Wenn itemsalestatus gleich „O“ ist, setzen Sie products_quantity auf 0.
  • Andernfalls setzen Sie products_quantity auf das Ergebnis von itemqtyonhand minus itemqtycommitted.

Um diese CASE-Anweisung in LINQ zu implementieren, können Sie einen bedingten Ausdruck in der select-Klausel verwenden. Ein Beispiel ist wie folgt:

<code class="language-csharp">cdsDBDataContext db = new cdsDBDataContext();
var query = from items in db.cdsItems
            where items.ItemHandHeldFlag == "Y" &&
                  items.ItemQtyOnHand - items.ItemQtyCommitted > 0
            select new
            {
                ItemID = items.ItemID,
                ProductsQuantity = (items.ItemPromoFlag != "N") ? 100000
                                    : (items.ItemCat1 == "1" || items.ItemCat1 == "2" || items.ItemCat1 == "31" && items.ItemSaleStatus == "S") ? 100000
                                    : (items.ItemSaleStatus == "O") ? 0
                                    : items.ItemQtyOnHand - items.ItemQtyCommitted
            };</code>
Nach dem Login kopieren

Beachten Sie, dass diese LINQ-Abfrage den Code vereinfacht, indem sie die CASE-Anweisung und die Zuweisung von products_quantity in einem einzigen Ausdruck in der select-Klausel kombiniert.

Das obige ist der detaillierte Inhalt vonWie kann ich die CASE-Anweisungslogik in LINQ für die bedingte Wertzuweisung implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage