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

Entity Framework の属性クエリで IN 句を効率的に使用する方法

Barbara Streisand
Barbara Streisandオリジナル
2025-01-03 09:39:39439ブラウズ

How to Efficiently Use the IN Clause with Attribute Queries in Entity Framework?

Entity Framework: 属性クエリで IN 句を利用する

Entity Framework (EF) を使用する場合、WHERE と IN の両方を使用してデータをフィルタリングする条項は困難になる可能性があります。特定のライセンス値と配列に格納された数値のリストに基づいて Licenses テーブルから行を取得するとします。

EF でのクエリの実装

次の EF コードは、これを実行する方法を示しています。 query:

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 配列には IN 句に必要な値が含まれています。
  • Where メソッドが使用されます
  • 最初の条件 (i.license == mylicense) は行を選択します。指定されたライセンス値に基づきます。
  • 2 番目の条件 (ids.Contains(i.number)) は、配列の Contains メソッドを使用して、ids の値に基づいて行をフィルターします。
  • ToList メソッドは、結果のクエリを License オブジェクトのリストに変換します。

このソリューションは、標準の WHERE 句と IN 句を組み合わせて、次のことを可能にします。 Entity Framework データの効率的なフィルタリング。

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

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