Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Meniru Pernyataan SQL CASE Menggunakan LINQ?
Pelaksanaan LINQ Penyata KES
Dalam LINQ, anda boleh menggunakan pernyataan bersyarat untuk mensimulasikan kefungsian pernyataan CASE yang terdapat dalam SQL. Mari kita periksa contoh khusus:
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
Untuk menukar penyataan CASE ini kepada LINQ, anda boleh menggunakan pendekatan berikut:
// Linq syntax var query = from items in db.cdsItems where items.ItemHandHeldFlag.Equals("Y") && items.ItemQtyOnHand - items.ItemQtyCommitted > 0 select items; // Alternate lambda syntax with expression body var query2 = db.cdsItems .Where(items => items.ItemHandHeldFlag.Equals("Y") && (items.ItemQtyOnHand - items.ItemQtyCommitted > 0)) .Select(items => items);
Pertanyaan ini mensimulasikan gelagat pernyataan CASE dengan berkesan dan mengemas kini status stok daripada pengeluaran ke tapak perdagangan seperti yang dimaksudkan.
Perhatikan bahawa LINQ menyediakan cara yang lebih ringkas dan boleh diselenggara untuk mengendalikan pernyataan bersyarat berbanding dengan menggunakan pernyataan CASE dalam SQL. Ia membolehkan anda menggunakan satu pernyataan untuk menilai berbilang keadaan dan menghasilkan output yang diingini.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meniru Pernyataan SQL CASE Menggunakan LINQ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!