Entity SQL の概要
Entity SQL は、ADO.NET エンティティ フレームワーク が エンティティ データ モデル (EDM) をサポートするために提供する、SQL 形式の言語です。EDM は、定義済みのデータ ソースにマップされるエンティティとリレーションシップのセットとしてアプリケーション データを表します。Entity SQL では、EDM 構成要素がサポートされており、エンティティ モデルによって表現されるデータに対するクエリを効率的に実行できます。EDM の詳細については、「Entity Data Model」を参照してください。
エンティティ フレームワーク は、ストレージ固有のデータ プロバイダと連携し、汎用的な Entity SQL をストレージ固有のクエリに変換します。EntityClient プロバイダには、エンティティ モデルに対して Entity SQL コマンドを実行し、スカラ結果、結果セット、オブジェクト グラフなど、さまざまなデータ型を返すための手段が用意されています。EntityCommand オブジェクトを構築する場合は、Entity SQL のクエリ文字列を System.Data.EntityClient.EntityCommand.CommandText プロパティに割り当てることで、ストアド プロシージャの名前またはクエリのテキストを指定できます。EDM に対する EntityCommand の実行結果は、EntityDataReader によって公開されます。EntityDataReader を返すコマンドを実行するには、ExecuteReader を呼び出します。詳細については、「EntityClient の使用 (Entity Framework タスク)」を参照してください。
EntityClient プロバイダだけでなく ObjectServices でも、Entity SQL を使用して エンティティ データ モデル に対するクエリを実行し、エンティティ型のインスタンスである厳密に型指定された CLR オブジェクトとしてデータを返すことができます。詳細については、「Object Services (Entity Framework)」を参照してください。
ここでは、Entity SQL の概念について説明します。
このセクションのトピック
- Entity SQL と Transact-SQL の相違点
Entity SQL と Transact-SQL の違いについて説明します。
- クエリ プランのキャッシュ (Entity SQL)
クエリ (特にパラメータ化クエリ) をキャッシュしてクエリの実行パフォーマンスを向上させる方法について説明します。
- 識別子 (Entity SQL)
Entity SQL の識別子に関する情報を提供します。
- パラメータ (Entity SQL)
Entity SQL のパラメータに関する情報を提供します。
- 変数 (Entity SQL)
Entity SQL の変数に関する情報を提供します。
- サポートされていない式 (Entity SQL)
Entity SQL でサポートされていない Transact-SQL 式の一覧を示します。
- リテラル (Entity SQL)
Entity SQL のリテラルに関する情報を提供します。
- NULL リテラルと型の推論 (Entity SQL)
型の推論を妨げることなく Entity SQL で NULL リテラルを使用できる場合のシナリオについて説明します。
- 入力文字セット (Entity SQL)
Entity SQL が受け取る入力文字セットについて説明します。
- 関数 (Entity SQL)
Entity SQL によってサポートされる関数について説明します。
- 演算子 (Entity SQL)
Entity SQL のさまざまな演算子について説明します。
- ページング (Entity SQL)
ORDER BY 句の SKIP サブ句および LIMIT サブ句を使用して実行できる物理的なページングについて説明します。
- 比較セマンティクス (Entity SQL)
型インスタンスの比較規則について説明します。
- 入れ子になった Entity SQL クエリの作成 (Entity SQL)
入れ子になったクエリを作成する方法について説明します。
- NULL 値が許容される構造化型 (Entity SQL)
NULL 値が許容される構造化型について説明します。
参照
概念
Entity SQL リファレンス
Entity SQL 言語