Heim > Backend-Entwicklung > C++ > Wie kann der ternäre Operator von LINQ die CASE-Anweisung von SQL für bedingte Mengenaktualisierungen replizieren?

Wie kann der ternäre Operator von LINQ die CASE-Anweisung von SQL für bedingte Mengenaktualisierungen replizieren?

Mary-Kate Olsen
Freigeben: 2025-01-03 16:48:43
Original
444 Leute haben es durchsucht

How Can LINQ's Ternary Operator Replicate SQL's CASE Statement for Conditional Quantity Updates?

Case-Anweisungen in LINQ: Ein praktisches Beispiel

Die leistungsstarken CASE-Anweisungen von LINQ bieten eine prägnante Syntax für bedingte Auswertungen innerhalb von Abfragen. Berücksichtigen Sie die folgende Anforderung für die Aktualisierung des Lagerbestandsstatus in LINQ:

osc_products.products_quantity =
CASE 
    WHEN itempromoflag <> 'N' THEN 100000
    WHEN itemcat1 IN ('1','2','31') AND itemsalestatus = 'S' THEN 100000
    WHEN itemsalestatus = 'O' THEN 0
    ELSE cds_oeinvitem.itemqtyonhand - cds_oeinvitem.itemqtycommitted 
END  
Nach dem Login kopieren

In LINQ kann diese CASE-Anweisung wie folgt geschrieben werden:

var query = from items in db.cdsItems
              where items.ItemHandHeldFlag.Equals("Y") &
              items.ItemQtyOnHand - items.ItemQtyCommitted > 0
              select new
              {
                  Quantity = 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
              };
Nach dem Login kopieren

Diese Abfrage wertet effektiv die Bedingungen und die Bedingungen der CASE-Anweisung aus weist der Quantity-Eigenschaft des anonymen Typs den entsprechenden Wert zu.

Denken Sie daran, dass die gesamte LINQ-Anweisung zusätzliche Kriterien verarbeitet, wie z ItemHandHeldFlag und Verfügbarkeitsbedingungen.

Das obige ist der detaillierte Inhalt vonWie kann der ternäre Operator von LINQ die CASE-Anweisung von SQL für bedingte Mengenaktualisierungen replizieren?. 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