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 サイトの他の関連記事を参照してください。