ホームページ > バックエンド開発 > C++ > LINQ で動的 WHERE 句を作成して変数フィルター条件を処理するにはどうすればよいですか?

LINQ で動的 WHERE 句を作成して変数フィルター条件を処理するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-14 08:57:46
オリジナル
152 人が閲覧しました

How Can I Create a Dynamic WHERE Clause in LINQ to Handle Variable Filtering Criteria?

LINQ の動的 WHERE 句

複雑な LINQ クエリを作成する場合、ユーザー入力またはその他の実行時要因に基づいて WHERE 句を動的に組み立てる必要がある場合があります。この記事では、LINQ を使用してこれを効率的に実現する方法について説明します。

動的 WHERE 句を組み立てます

動的な WHERE 句を組み立てる 1 つの方法は、クエリ内で複数の WHERE 句を連鎖させることです。これにより、特定の基準に基づいてフィルターを追加または削除できます。

これは例です:

<code class="language-csharp">var q = from c in db.ProductDetail
        where c.ProductGroupName == productGroupName && c.ProductTypeName == productTypeName
        select c;

// 动态过滤
foreach (var filter in filterDictionary)
{
    string fieldName = filter.Key;
    List<string> values = filter.Value;

    if (values.Count > 0)
    {
        q = q.Where(c => values.Contains(c[fieldName]));
    }
}</code>
ログイン後にコピー

この例では、filterDictionary 内のキーと値のペアごとに、対応するフィールド名に値があるかどうかを確認します。存在する場合は、これらの値に基づいて結果をフィルターする新しい WHERE 句をクエリに追加します。

WHERE 句をリンク

複数の WHERE 句を連鎖させることで、複雑で動的なフィルター条件を簡単に作成できます。たとえば、複数のフィールドでフィルターしたり、値の範囲を確認したり、AND や OR などの論理演算子を使用して複数の条件を組み合わせたりできます。この柔軟性により、シナリオの特定の要件に基づいてクエリをカスタマイズできます。

以上がLINQ で動的 WHERE 句を作成して変数フィルター条件を処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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