entity framework entity data model

The ADO.NET Entity Data Model Designer is a tool provided with Microsoft Entity Framework 4. The Microsoft Entity Framework 4 is available with .Net framework 4 and can be used in Visual studio 2010.

Using this tool, programmers can build an Entity Data Model for database applications such as ERP applications. The Entity Data Model consists of the storage schema, conceptual schema and the mapping schema and the entity classes as shown below.
entity data model
The storage schema
The storage schema of the Entity Data Model of an ERP application describes the schema in an XML definition. The storage schema definition language (SSDL) contains all the tables, views and stored procedures required for the ERP application. These tables, views and stored procedures are modeled in the Storage Schema Definition Language which is a XML definition.

The conceptual schema
The conceptual schema contains the Entities, Relationships and EntitySets. The Entities, Relationships and EntitySets are defined in the Conceptual Schema Definition Language (CSDL). An ERP application programmer can change the CSDL if required.

Mapping schema
The Mapping schema contains the mapping the conceptual layer (CSDL) and the logical layer (SSDL). This is defined in the Mapping schema definition Language (MSDL).

A key benefit of using the Entity Framework is that programmers while creating applications such as ERP applications, are not worried about structure of the database, and directly work with above mentioned schemas which are reflection of the business objects.

In the book titled: Develop ERP software using vb.net, c# and sql server, we have seen how to retrieve, save data using ADO.Net Data Readers and DataSets. In that case, we work with the actual database schema using the ADO.Net technology. When we use entity framework, we need not work with actual database schema rather we work with the data model.

With ADO.Net technology, we are forced work with rows and columns (fields). For example, to save data to a customer table we have to refer the column names exactly. However, on the other hand, the entity framework returns the data as objects and automates the process of storing objects into the database.

The Entity data model is a client side model and is designed to match business objects which we create based on the domain for which we are developing the software application. With the Entity framework, the backend can be of our choice and is not database vendor specific.