LINQ의 Case 문: 실제 예
LINQ의 강력한 CASE 문은 쿼리 내의 조건부 평가를 위한 간결한 구문을 제공합니다. 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
LINQ에서 이 CASE 문은 다음과 같이 작성할 수 있습니다.
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 };
이 쿼리는 CASE 문 조건을 효과적으로 평가하고 익명 유형의 Quantity 속성에 적절한 값을 할당합니다.
전체 LINQ 문은 다음과 같은 추가 기준을 처리한다는 점을 기억하세요. ItemHandHeldFlag 및 가용성 조건
위 내용은 LINQ의 삼항 연산자는 조건부 수량 업데이트를 위해 SQL의 CASE 문을 어떻게 복제할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!