Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Melaksanakan Logik Penyata CASE dalam LINQ untuk Penetapan Nilai Bersyarat?

Bagaimanakah Saya Boleh Melaksanakan Logik Penyata CASE dalam LINQ untuk Penetapan Nilai Bersyarat?

Patricia Arquette
Patricia Arquetteasal
2025-01-11 19:17:42811semak imbas

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

Menggunakan pernyataan CASE dalam LINQ

LINQ (C#) membenarkan penggunaan logik seperti pernyataan CASE untuk melaksanakan penetapan nilai bersyarat berdasarkan syarat tertentu.

Coretan kod berikut menunjukkan cara menggunakan pernyataan CASE untuk menetapkan nilai pada atribut osc_products dalam jadual products_quantity. Peraturan tugasan adalah seperti berikut:

  • Jika itempromoflag tidak sama dengan 'N', maka tetapkan products_quantity kepada 100,000.
  • Jika itemcat1 bersamaan dengan '1', '2' atau '31' dan itemsalestatus bersamaan dengan 'S', kemudian tetapkan products_quantity kepada 100,000.
  • Jika itemsalestatus sama dengan 'O', kemudian tetapkan products_quantity kepada 0.
  • Jika tidak, tetapkan products_quantity kepada hasil itemqtyonhand tolak itemqtycommitted.

Untuk melaksanakan pernyataan CASE ini dalam LINQ, anda boleh menggunakan ungkapan bersyarat dalam klausa select. Contohnya adalah seperti berikut:

<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>

Perhatikan bahawa pertanyaan LINQ ini memudahkan kod dengan menggabungkan pernyataan CASE dan penugasan products_quantity ke dalam satu ungkapan dalam klausa select.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Logik Penyata CASE dalam LINQ untuk Penetapan Nilai Bersyarat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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