ADO.NET Entity Framework

The overall architecture of Entity Framework as in above diagram. The Query Languages lay on top of the Object Services which relies in Entity Client to interact with the Database. The Entity Client uses the standard ADO.NET providers to physically communicate with the Database. The EDM is a cross layer that is used by Object Services and Entity Client to obtain metadata about classes.

Conceptual Model: describes about the Model classes

Mapping Model: This is where the conceptual Model is mapped to Storage Model.

Storage Model:describes about the Database schema

ADO.NET Entity Framework is an Object-Relationship Management (ORM) or Object Relational Mapping tool like Hibernate in java or N Hibernate for DOTNET. ADO.NET Entity Framework is included with .NET Framework 3.5 Service Pack 1 and Visual Studio 2008 Service Pack 1.

Microsoft clearly stated that the future of data access for the .NET platform is Entity Framework.

An ORM is a framework for persisting model objects in a relational database and retrieving them. It uses metadata information to interface with the database so it can perform both persistence and data retrieval. Here your data layer code knows nothing about the database structure as the ORM becomes a middle layer that completely hides the complexity.

The Heart of an ORM is the Mapping. The mapping technique is what bound the object and the relational worlds or Database. By mapping you specify how a class and its property are related to one or more tables in the database. This information is used by the engine of the ORM to dynamically build SQL code that retrieves data and transform them into objects. The same way, by tracking changes to objects properties; it can use mapping data to send updates back to the database. The mapping information is generally expressed as an XML file. As an alternative, some ORM uses attributes on the classes and their properties.

The Entity Framework helps the developers to focus on their application-specific business logic rather than the data access fundamentals. It provides services like change tracking, identity resolution, lazy loading, and query translation.