Entity Framework: 属性を使用した IN 句の利用
Entity Framework では、IN 句を使用してさまざまなフィールドに基づいてエンティティをフィルタリングできます。 ANY メソッドや CONTAINS メソッドなど、さまざまな方法があります。ただし、SQL のような IN 句を直接使用する場合は、別のアプローチを使用できます。
SQL のような IN 句の使用法
次の SQL クエリを考えてみましょう。
SELECT * FROM Licenses WHERE license = 1 AND number IN (1,2,3,45,99)
Entity Framework でこのクエリを複製するには、IN 句に含める値を表す配列を定義します。例:
int[] ids = new int[]{1,2,3,45,99};
次に、Entity Framework クエリを次のように変更します。
using (DatabaseEntities db = new DatabaseEntities ()) { return db.Licenses.Where( i => i.license == mylicense && ids.Contains(i.number) ).ToList(); }
指定された配列で Contains メソッドを呼び出すことにより、Entity Framework は、以下に基づいて Licenses テーブルを効果的にフィルター処理します。必要な IN 句の基準。
以上がEntity Framework 属性を使用して SQL の IN 句をレプリケートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。