ホームページ >データベース >mysql チュートリアル >Entity Framework クエリの属性で「IN」句を使用する方法

Entity Framework クエリの属性で「IN」句を使用する方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-21 21:25:51845ブラウズ

How to Use the 'IN' Clause with Attributes in Entity Framework Queries?

Entity Framework: 属性を持つ 'IN' 句の利用

データベース クエリの領域では、'IN' 句を使用して事前定義された値のセットに基づいてレコードを効率的にフィルタリングします。 Entity Framework (EF) を使用すると、この機能を活用してデータ取得の柔軟性を高めることができます。

この記事では、「WHERE」と「IN」の両方をシームレスに組み合わせる EF クエリを構築する方法という一般的なシナリオについて説明します。 ' 条項。目的は、「IN」比較を含む複数のフィールド基準に基づいてエンティティをフィルタリングすることです。

「WHERE」句と「IN」句を使用したクエリ設計

考えてみましょう次のシナリオでは、「ライセンス」や「番号」などのフィールドを持つ「ライセンス」テーブルが存在します。目標は、「ライセンス」フィールドが特定の値に等しく、「番号」フィールドが指定された一連の値のいずれかに一致するすべてのライセンスを取得することです。

従来のデータベース クエリでは、これは次のように表現されます。

SELECT * FROM Licenses WHERE license = 1 AND number IN (1,2,3,45,99);

EF でのクエリの実装

このクエリの翻訳EF に変換するには、その構文を正確に理解する必要があります。これを実現するには、「Contains」メソッドを利用できます:

int[] ids = new int[]{1,2,3,45,99};
using (DatabaseEntities db = new DatabaseEntities ())
{
    return db.Licenses.Where(
        i => i.license == mylicense 
           && ids.Contains(i.number)
        ).ToList();
}

このスニペットでは:

  • 「ids」配列は、「数値」と照合する値を保持します。 ' フィールド。
  • 「Contains」メソッドは、各ライセンスの「番号」フィールドがライセンスのいずれかの値と一致するかどうかを確認します。 「ids」配列。
  • 結果のクエリは、「ライセンス」と「番号」の両方の基準が満たされるすべてのライセンスを取得します。

このアプローチは、「WHERE」と「IN」をシームレスに統合します。 EF の ' 句により、複数の条件に基づいてエンティティをフィルタリングするための堅牢なソリューションが提供されます。

以上がEntity Framework クエリの属性で「IN」句を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。