ホームページ > バックエンド開発 > C++ > LINQ で CASE ステートメント (またはそれに相当するステートメント) を使用して在庫ステータスを更新するにはどうすればよいですか?

LINQ で CASE ステートメント (またはそれに相当するステートメント) を使用して在庫ステータスを更新するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-28 13:09:15
オリジナル
146 人が閲覧しました

How Can I Use CASE Statements (or Their Equivalent) in LINQ to Update Stock Status?

LINQ CASE ステートメント: 詳細

LINQ クエリでは、CASE ステートメントは複数の条件を評価して異なる値を返す簡潔な方法を提供します。結果に基づいて。 CASE ステートメントを効果的に使用する方法を理解することは、複雑な LINQ クエリを作成するために不可欠です。

今回の特定のケースでは、CASE ステートメントを使用して、「製造」から「コマース サイト」までの品目の在庫ステータスを更新しようとしています。コードでは、ハンドヘルド フラグが "Y" に設定された品目と利用可能な在庫が正しく選択されますが、CASE ステートメントは実装されていません。

LINQ に CASE ステートメントを組み込むには、三項条件演算子 ( ? :) を使用すると、条件を評価し、結果に基づいてさまざまな値を返すことができます。三項条件演算子の構文は次のとおりです。

condition ? value_if_true : value_if_false
ログイン後にコピー

この場合、CASE ステートメントは LINQ で次のように表現できます。

cdsDBDataContext db = new cdsDBDataContext();
var query = from items in db.cdsItems
            where items.ItemHandHeldFlag.Equals("Y")
            select new
            {
                Items = items,
                ProductsQuantity = items.ItemQtyOnHand - items.ItemQtyCommitted > 0 ? 100000 : 0
            };
ログイン後にコピー

このクエリは、"ProductsQuantity" プロパティを更新します。 CASE ステートメントの条件に基づいて、結果セット内の各項目を分析します。品目の有効在庫レベルがプラスの場合、「ProductsQuantity」は 100000 に設定されます。それ以外の場合は、0 に設定されます。

以上がLINQ で CASE ステートメント (またはそれに相当するステートメント) を使用して在庫ステータスを更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート