Nov 2, 2014

Entity Framework Architecture


I am trying to explain Entity Framework Architecture by bellow given figure.



















LINQ to Entities: LINQ to Entities is a query language used to write queries against the object model. It returns entities, which are defined in the conceptual model. You can use your LINQ skills here.
Object Service: Object service is a main entry point for accessing data from the database and to return it back. Object service is responsible for materialization, which is process of converting data returned from entity client data provider (next layer) to an entity object structure.
Entity Client(System.Data.EntityClient): The EntityClient provider uses storage-specific ADO.NET Data Provider classes and mapping metadata for interacting with entity data models.
Conceptual Schema Model: The conceptual model contains the model classes and their relationships. This will be independent from your database table design.
Mapping Concept: Mapping consist information about how the conceptual model is mapped to storage model.
Storage Schema mapping Model: Storage model is the database design model which includes tables, views, stored procedures and their relationships and keys.
Entity Client Data Provider: The main responsibility of this layer is to convert L2E or Entity SQL queries into a SQL query which is understood by the underlying database. It communicates with the ADO.Net data provider which in turn sends or retrieves data from database.
ADO.Net Data Provider: This layer communicates with database using standard ADO.Net.