Microsoft Entity, an Object-Relational Mapping Framework
Entity Framework is an open source object-relational mapping framework for ADO.NET used by developers for building data-oriented software applications. When using the Microsoft ADO.NET Entity Framework, programmers can work with relational data as with domain-specific objects. They can deal with data at a high level of abstraction and don’t need to write so much code as when creating traditional applications, using an automated mechanism to get access to the data and store them in the database.
The first two versions of Entity Framework were shipped as a part of the .NET Framework, but starting from Entity framework version 6, the software is released as an open-source project. Currently, there are two versions of Entity Framework: Entity Framework Core and Entity Framework 6.
- Being a tested data access technology, Entity Framework 6 (EF6) has many useful features and the proven stabilization.
- Entity Framework Core is a new extensible and cross-platform version and still lacks some essential O/RM features. It is a complete rewrite and has a new set of the key components and can run on Linux, Windows, and OSX.
Developers can create a model by using lines and boxes in the Entity Framework Designer or by writing code. They also can use both of these approaches to build a new database or target the existing one.
Entity framework can be useful when:
- developers want to design their databases ahead of other parts of their applications and if they already have an existing database;
- users want to design their database schemas on the visual designer and then build the database and classes;
- developers want to focus on the domain classes and after that create the database from those domain classes.
ADO.NET Entity Framework is targeted for building different Enterprise applications that can support MS SQL databases and other databases such as MySQL, DB2, Oracle, and more. The main advantages of using the Microsoft Entity Framework are productivity and performance.