Entity-framework-architecture

提供:Dev Guides
移動先:案内検索

Entity Framework-アーキテクチャ

Entity Frameworkのアーキテクチャは、ボトムアップで、次のもので構成されています-

データプロバイダー

これらはソース固有のプロバイダーで、ADO.NETインターフェイスを抽象化して、概念スキーマに対してプログラミングするときにデータベースに接続します。

LINQなどの一般的なSQL言語をコマンドツリー経由でネイティブSQL式に変換し、特定のDBMSシステムに対して実行します。

エンティティクライアント

この層は、エンティティ層を上位層に公開します。 エンティティクライアントは、開発者が概念SQLを表すクラスを生成する必要なく、エンティティSQLクエリを使用して行と列の形式でエンティティを操作する機能を提供します。 エンティティクライアントには、コアフレームワークであるエンティティフレームワークレイヤーが表示されます。 これらの層は、エンティティデータモデルと呼ばれます。

エンティティデータモデル

  • Storage Layer には、XML形式のデータベーススキーマ全体が含まれています。
  • XMLファイルでもある Entity Layer は、エンティティと関係を定義します。
  • *マッピング層*は、概念層で定義されたエンティティと関係を、論理層で定義された実際の関係とテーブルにマップするXMLファイルです。
  • エンティティクライアントでも表される*メタデータサービス*は、エンティティ、マッピング、およびストレージレイヤーに格納されたメタデータにアクセスするための集中型APIを提供します。

オブジェクトサービス

オブジェクトサービスレイヤーはオブジェクトコンテキストであり、アプリケーションとデータソース間の対話のセッションを表します。

  • オブジェクトコンテキストの主な用途は、エンティティのインスタンスの追加、削除などのさまざまな操作を実行し、クエリを使用して変更された状態をデータベースに保存することです。
  • Entity FrameworkのORMレイヤーであり、エンティティのオブジェクトインスタンスに対するデータ結果を表します。
  • このサービスにより、開発者は主キーマッピング、変更追跡などの豊富なORM機能を使用できます。 LINQとEntity SQLを使用してクエリを作成します。