Microsoft entity framework is ORM (object relation mapping)
that enables developer to work
with relational database and domain sepecific objects.It
skips the code that we was writing in earlier times to get data from database.
Now developers issues queries using LINQ, then retrieve and manipulate the data
as strongly typed objects.ORM implementation provides services like: change
tracking, identity resolution, lazy loading and query translation. Now
developers only need to focus on business logic rather than fetching data from
database.
It is an enhancement to ADO.NET that gives developers an automated
mechanism for accessing & storing the data in database and working with the
results in addition to DataReader and DataSet.
O/RM includes three main parts: Domain class objects,
Relational database objects and Mapping information on how domain objects maps
to relational database objects (tables, views & storedprocedures). ORM
helps us to keep our database design separate from our domain class design.
This makes application maintainable and extendable. It also automates standard
CRUD operation (Create, Read, Update & Delete) so developer doesn’t need to
write it manually.
here are many ORM frameworks for .net in the market like
DataObjects.Net, NHibernate, OpenAccess, SubSonic etc . ADO.NET Entity
Framework is from Microsoft.
Differences between entiry framework and LINQ to sql
1.Entity framework supports not only SQL Server but also
other database like Oracle, DB2, MySQL etc.
2.Most of the time L2S classes must be one-to-one with
database objects e.g. Customer class can be mapped only with Customer table. On
other hand in Entity Framework we can map domain class with multiple tables
using various inheritance strategies like table per type (class) or table per
hierarchy of classes etc.
3. We can also follow mutliple techniques using entity
framework like code first, model first or database first. Now no longer dependencies on old techniques.
4. In upcoming products microsoft also giving support and
integration of entity framework.
ENTITY FRAMEWORK ARCHITECHTURE (GOT FROM A ANOTHER WEBSITE
IT IS NOT MINE):
Following figure shows the overall
architecture of the Entity Framework. Let’s see each component of the
architecture:
EDM (Entity Data Model): EDM consist three main parts- Conceptual model, Mapping and
Storage model.
Conceptual Model: Conceptual model is our model classes and their
relationships. This will be independent from our database table design.
Storage Model: Storage model is our database design model which includes
tables, views, stored procedures and their relationships and keys.
Mapping: Mapping consist information about how our conceptual model
is mapped to storage model.
LINQ to Entities:LINQ to Entities is query language used to write queries
against the object model. It returns entities which are defined in the
conceptual model. We can use your LINQ skills here.
Entity SQL: Entity SQL is again a query language same as LINQ to
Entities. However it is little more difficult than L2E and also developer need
to learn it separately.
Object Service: Object service is a main entry point for accessing data from
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 Data Provider: The main responsibility of this layer is to convert L2E or
Entity SQL queries into SQL query which is understood by underlying database.
It communicates with 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.
I'll do more posting on this topic very soon, because entity framework 4.5 is knocking the door. :)
No comments:
Post a Comment