Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Melaksanakan Pernyataan SQL CASE dalam LINQ menggunakan C#?

Bagaimana untuk Melaksanakan Pernyataan SQL CASE dalam LINQ menggunakan C#?

Susan Sarandon
Lepaskan: 2024-12-27 22:42:10
asal
144 orang telah melayarinya

How to Implement a SQL CASE Statement in LINQ using C#?

Pelaksanaan Penyata KES LINQ untuk Keadaan Kompleks

Penyata KES ialah alat yang berkuasa untuk menilai berbilang keadaan dan mengembalikan keputusan khusus berdasarkan setiap kes . Artikel ini bertujuan untuk memberikan penjelasan dan penyelesaian yang jelas untuk melaksanakan kenyataan CASE dalam LINQ untuk C#.

Dalam satu senario tertentu, pertanyaan bertujuan untuk mengemas kini status stok berdasarkan satu set syarat:

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 
Salin selepas log masuk

Untuk menterjemah pernyataan CASE ini kepada LINQ, kami boleh menggunakan sintaks berikut:

query.Select(item => item.Products_Quantity = 
  item.ItemPromoFlag != 'N' ? 100000 : 
  (item.ItemCat1 == "1" || item.ItemCat1 == "2" || item.ItemCat1 == "31") && item.ItemSaleStatus == "S" ? 100000 : 
  item.ItemSaleStatus == "O" ? 0 : 
  cds_oeinvitem.ItemQtyOnHand - cds_oeinvitem.ItemQtyCommitted);
Salin selepas log masuk

Ini Ungkapan LINQ menggunakan operator ternary untuk mencontohi syarat pernyataan CASE dan menetapkan nilai yang sepadan dengan sifat Products_Quantity. Hasilnya ialah pertanyaan yang mengemas kini status stok berdasarkan syarat yang ditentukan.

Perhatikan bahawa coretan kod yang disediakan menganggap bahawa anda telah pun mewujudkan pertanyaan LINQ menggunakan sumber data yang sesuai. Pembolehubah pertanyaan dalam kod harus mewakili pertanyaan LINQ yang telah anda buat.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pernyataan SQL CASE dalam LINQ menggunakan C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan