Skip to main content

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 the main entry point for accessing data from the database and to return it back. Object service is responsible for materialization, which is a 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 of your database table design.
Mapping Concept: Mapping consists of information about how the conceptual model is mapped to a 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 the database.

ADO.Net Data Provider: This layer communicates with the database using standard ADO.Net.