概念モデルに対するクエリ (Entity Framework)

ADO.NET Entity Framework を使用すると概念モデルに対してクエリを実行できます。 Entity Framework では、概念モデルに対して次の種類のクエリがサポートされています。

クエリの型 説明

統合言語クエリ (LINQ)

LINQ to Entities では、言語固有のクエリ演算子を使用してエンティティ データに対して LINQ クエリを実行できます。 詳細については、「LINQ to Entities」を参照してください。

Entity SQL

Entity SQL は、ストレージに依存しない SQL と似たクエリ言語です。 Entity SQL を使用すると、オブジェクトとして、または表形式でエンティティ データに対してクエリを実行できます。 次の場合には Entity SQL の使用を検討してください。

  • クエリを実行時に動的に作成する必要がある場合。 その場合、実行時に Entity SQL クエリ文字列を作成する代わりに、ObjectQuery のクエリ ビルダー メソッドを使用することも検討してください。

  • モデル定義の一部としてクエリを定義する場合。 データ モデルでは Entity SQL のみがサポートされます。 詳細については、「QueryView 要素 (MSL)」を参照してください。

  • EntityClient で EntityDataReader を使用して行セットとして読み取り専用エンティティ データを返す場合。 詳細については、「Entity Framework 用の EntityClient プロバイダー」を参照してください。

  • SQL ベースのクエリ言語に詳しい場合、Entity SQL の使用が最も適切に思われるでしょう。

クエリ ビルダー メソッド

ObjectQuery のこれらのメソッドを使用すると、クエリ文字列を作成しなくても、Entity SQL と同じクエリを作成できます。 これらのメソッドは、常に ObjectQuery を返すため、一連のメソッドを呼び出してクエリを作成したり、それらを使用して Entity SQL クエリを拡張したりできます。 WhereOrderBy などの一部のメソッドは、パラメーターとして Entity SQL フラグメントを受け取ります。 クエリ ビルダー メソッドの後には特定の LINQ 標準クエリ演算子を配置できます。 詳細については、「クエリ ビルダー メソッド (Entity Framework)」を参照してください。

このセクションの各トピックでは、ObjectQuery クラスを使用して概念モデルに対するクエリを実行する方法について説明します。 概念モデルに対する LINQ クエリの実行に関する詳細については、「LINQ to Entities でのクエリ」を参照してください。

このセクションの内容

オブジェクト クエリ (Entity Framework)

関連オブジェクトの読み込み (Entity Framework)

クエリ ビルダー メソッド (Entity Framework)

ストア コマンドの直接実行

方法: エンティティ型オブジェクトを返すクエリを実行する (Entity Framework)

パラメーター化クエリを実行する方法 (Entity Framework)

ナビゲーション プロパティを使用してリレーションシップをナビゲートする方法 (Entity Framework)

方法: クエリ パスを使用して結果を構築する (Entity Framework)

方法: 関連するオブジェクトを明示的に読み込む (Entity Framework)

方法: 遅延読み込みを使用して関連するオブジェクトを読み込む (Entity Framework)

方法: ユーザー定義関数を呼び出す (Entity Framework)

データをフィルター選択する方法 (Entity Framework)

データを並べ替える方法 (Entity Framework)

データをグループ化する方法 (Entity Framework)

データを集計する方法 (Entity Framework)

方法: 匿名型のコレクションを返すクエリを実行する (Entity Framework)

方法: プリミティブ型のコレクションを返すクエリを実行する (Entity Framework)

キーを使用して特定のオブジェクトを返す方法 (Entity Framework)

EntityCollection 内の関連するオブジェクトにクエリを実行する方法 (Entity Framework)

方法: 2 つのクエリの結合を並べ替える (Entity Framework)

クエリの結果をページングする方法 (Entity Framework)

格納コマンドを表示する方法 (Entity Framework)

LINQ to Entities クエリの結果から重複する要素を削除する方法

IN および OUT パラメーターとストアド プロシージャを使用してクエリを実行する方法 (Entity Framework)

方法: 複合型をクエリする (Entity Framework)

方法: Multiple-Entity-Sets-per-Type を使用してオブジェクトをクエリする (Entity Framework)

別個のテーブルにマップされたエンティティのクエリ方法

方法: データ ソースに対してコマンドを直接実行する

関連トピック

参照

概念

オブジェクトの使用 (Entity Framework)
Entity Framework 用の EntityClient プロバイダー
LINQ to Entities でのクエリ
Entity Framework のリソース
リレーションシップの定義と管理 (Entity Framework)

その他のリソース

サンプル アプリケーション (Entity Framework)