In our old days, we use ADO.NET to retrieve and save application data to database.In ADO.NET, we will open a connection to the database,create a dataset to store data from the database.
To overcome this process,Microsoft provided a framework called 'Entity Framework' which automate all these database related activities of your application.
Entity Framework is an open source ORM framework for .NET applications supported by Microsoft.
In otherwords, as per official definition: "Entity Framework is an object-relational mapper(ORM) that enables .Net developers to work with a database using .NET objects.It eliminates the need for data-access code that developers need to write."
Entity Framework Latest versions:
There are 2 latest versions in entity framework 1)EF6 and 2)EF Core.
There are three kinds of entity framework approaches.
Here domain classes will be created first and from that classes the database will be created.
For eg:-
So the above domain class will get converted to table during database creation.
public Class Customer
{
public int Customerid{get;set;}
public string CustomerName{get;set;}
public string Address{get;set;}
public string City{get;set;}
public string Country{get;set;}
}
In Model first approach, you create entities,relationships, inheritance hierarchies on EDMX file of the Visual designer which is integrated to Visual Studio and then generate database from your model.
In database first approach, you develop the context and entities from the existing database using EDM Wizard in our Visual Studio environment.
EF 6 | EF Core |
---|---|
It was released in 2008 with .Net Framework 3.5 | It was released in June 2016 with .Net Core 1.0 |
Windows only | Windows , Linux, osx |
Works on .Net framework 3.5+ | Works on .Net framework 4.5+ and .Net core |