LINQ에서 CASE 문 사용
LINQ(C#)를 사용하면 CASE 문과 유사한 논리를 사용하여 특정 조건에 따라 조건부 값 할당을 수행할 수 있습니다.
다음 코드 조각은 CASE 문을 사용하여 osc_products
테이블의 products_quantity
속성에 값을 할당하는 방법을 보여줍니다. 할당 규칙은 다음과 같습니다.
itempromoflag
이 'N'이 아닌 경우 products_quantity
을 100,000으로 설정합니다. itemcat1
이 '1', '2' 또는 '31'이고 itemsalestatus
가 'S'인 경우 products_quantity
를 100,000으로 설정합니다. itemsalestatus
이 'O'인 경우 products_quantity
을 0으로 설정합니다. products_quantity
를 itemqtyonhand
에서 itemqtycommitted
를 뺀 결과로 설정합니다. LINQ에서 이 CASE 문을 구현하려면 select
절에 조건식을 사용할 수 있습니다. 예시는 다음과 같습니다.
<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>
이 LINQ 쿼리는 CASE 문과 products_quantity
할당을 select
절의 단일 식으로 결합하여 코드를 단순화합니다.
위 내용은 조건부 값 할당을 위해 LINQ에서 CASE 문 논리를 어떻게 구현할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!