> 데이터 베이스 > MySQL 튜토리얼 > 데이터 업데이트를 위한 LINQ 쿼리에서 SQL CASE 문을 어떻게 복제할 수 있습니까?

데이터 업데이트를 위한 LINQ 쿼리에서 SQL CASE 문을 어떻게 복제할 수 있습니까?

Susan Sarandon
풀어 주다: 2025-01-11 19:27:43
원래의
362명이 탐색했습니다.

How Can I Replicate SQL CASE Statements in LINQ Queries for Data Updates?

조건부 데이터 업데이트에 대한 LINQ의 접근 방식

LINQ(Language Integrated Query)는 특히 데이터베이스 레코드를 업데이트할 때 SQL CASE 문의 기능을 미러링하여 조건부 논리를 관리하는 효율적인 방법을 제공합니다. 이를 달성하는 방법을 살펴보겠습니다.

일반적인 시나리오는 여러 조건에 따라 열을 업데이트하는 것입니다. 다음 SQL 예제를 고려해보세요.

<code class="language-sql">UPDATE osc_products
SET 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</code>
로그인 후 복사

이 SQL 문은 다양한 기준에 따라 products_quantity 업데이트됩니다. 동등한 LINQ 쿼리는 다음과 같습니다.

<code class="language-csharp">cdsDBDataContext db = new cdsDBDataContext();
var query = from items in db.cdsItems
            where items.ItemHandHeldFlag == "Y"
            let quantity =
                (
                    items.ItemPromoFlag != 'N' ? 100000 :
                    (items.ItemCat1.In("1", "2", "31") && items.ItemSaleStatus == "S") ? 100000 :
                    items.ItemSaleStatus == "O" ? 0 :
                    items.ItemQtyOnHand - items.ItemQtyCommitted
                )
            select new
            {
                ItemId = items.ItemId,
                UpdatedQuantity = quantity
            };</code>
로그인 후 복사

이 LINQ 쿼리는 let 키워드를 사용하여 조건부 논리를 기반으로 계산된 quantity을 정의합니다. 삼항 연산자(? :)는 CASE 문의 기능을 구현하는 간결한 방법을 제공합니다. 최종 선택에는 ItemId과 계산된 UpdatedQuantity이 포함되어 효율적인 데이터베이스 업데이트가 가능합니다.

복잡한 조건부 업데이트를 처리하는 LINQ의 유연성을 보여주며 C# 코드 내에서 직접 SQL CASE 문에 대한 강력한 대안을 제공합니다.

위 내용은 데이터 업데이트를 위한 LINQ 쿼리에서 SQL CASE 문을 어떻게 복제할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿