Entity Framework の機能

エンティティ フレームワーク アプリケーションでは、エンティティおよびリレーションシップを定義する概念モデル、元となるリレーショナル モデルを表す論理モデル、およびこの 2 つのモデル間のマッピングを作成する必要があります。プログラム可能なオブジェクト モデルは、この概念モデルから生成されます。

次の エンティティ フレームワーク の機能とコンポーネントは、互いに連携して動作し、エンド ツー エンドのプログラミング環境を提供します。

  • エンティティ データ モデル (EDM) は、エンティティ フレームワーク で中心的な働きをします。これによって、アプリケーション コードから使用できるプログラミング可能なクラスの構築に使用されるデザイン スキーマが指定されます。データを永続化するためのストレージ構造がストレージ スキーマで表現され、マッピングの仕様に基づいてデザイン スキーマとストレージ スキーマとが関連付けられます。概念エンティティは、オブジェクトとして具体化したり、データ リーダーを使ってシリアル化形式で読み取ったりできます。開発者は、これらのオブジェクトを必要に応じて拡張することによって各種のアプリケーション ニーズを満たすことができます。詳細については、「Entity Data Model」を参照してください。

  • プログラマは、Object Services コンポーネントを使用することにより、概念モデルから生成された共通言語ランタイム (CLR) クラスを操作できます。また、Object Services には、状態管理、変更の追跡、ID 解決、リレーションシップの読み込みとナビゲーション、オブジェクトに対して行われた変更のデータベースへの反映、Entity SQL のクエリ作成支援など、エンティティ フレームワーク のインフラストラクチャを支援する役割もあります。詳細については、「Object Services (Entity Framework)」を参照してください。

  • LINQ to Entities は、エンティティを照会するための統合言語クエリ (LINQ) のサポートを提供します。開発者は、LINQ to Entities を使用することにより、Visual Basic や Visual C# などのサポートされている .NET Framework プログラミング言語でデータベースを照会するためのクエリを作成できます。詳細については、「LINQ to Entities」を参照してください。

  • Entity SQL は、ストレージの影響を受けない SQL 同様の言語で、Entity Data Model (EDM) に基づくオブジェクトの豊富なオブジェクト グラフを照会および操作するように設計されています。詳細については、「Entity SQL 言語」を参照してください。

  • EntityClient プロバイダは、概念エンティティおよびリレーションシップに従ってデータにアクセスし、ADO.NET プロバイダ モデルを拡張します。このプロバイダは、Entity SQL を使用するクエリを実行します。Entity SQL は、EntityClient がデータベースと通信するための基になるクエリ言語を提供します。詳細については、「Entity Framework 用の EntityClient プロバイダ」を参照してください。

  • ADO.NET メタデータ コンポーネントは、エンティティ フレームワーク のデザイン時およびランタイムの要求に関するメタデータを管理します。モデルおよびマッピングに関連付けられているすべてのメタデータは、メタデータの格納に使用されるメカニズムに依存しないメタデータ インターフェイスを使用して公開されます。現在の格納方式では、概念スキーマ定義言語 (CSDL)、ストア スキーマ定義言語 (SSDL)、およびマッピング スキーマ言語 (MSL) の 3 つの XML 言語に基づいたファイルを使用しています。詳細については、「ADO.NET メタデータ」を参照してください。

  • 概念モデルでエンティティを表すマッピングと部分クラスを生成する エンティティ フレームワーク のツールのセットは、要求に応じて常に最先端の技術を提供しています。詳細については、「Entity Data Model ツール」を参照してください。

  • 更新された エンティティ フレームワーク の SqlClient Data Provider は、正規コマンド ツリーをサポートしています。詳細については、「.NET Framework Data Provider for SQL Server (SqlClient) (Entity Framework 用)」を参照してください。

アーキテクチャの図

次の図は、エンティティ フレームワーク におけるユーザーがアクセス可能なさまざまなプログラミング インターフェイスの関係を示しています。下向き矢印はデータ ソースに対するクエリを示し、上向き矢印は返されるデータを示します。Object Services によって、概念モデルに対する LINQ to Entities または Entity SQL 操作を表す正規コマンド ツリーが生成されます。EntityClient プロバイダは、EDM に基づいて、この正規コマンド ツリーを、データ ソースに対する同等の操作である新しい正規コマンド ツリーに変換します。

Entity Framework のアーキテクチャの図

参照

概念

Entity Framework の用語
Entity Framework の概要

その他のリソース

機能リファレンス (Entity Framework)
はじめに (Entity Framework)