What is Entity Framework(什么是EF)

什么是EF?

编写和管理用于数据访问的ADO.Net代码是一件枯燥且乏味的工作。微软提供了一个名为Entity Framework的O/RM框架,可以为你的应用程序自动化数据库相关活动。

微软将EF定义如下:

微软ADO.NET Entity Framework是一种对象/关系映射的框架,它使开发人员处理关系数据以特定领域对象的形式,消除了开发人员经常需要编写的大量数据访问代码。使用EF,开发人员使用LINQ查询,以强类型对象的形式检索和操作数据。EF的ORM实现提供服务如更改追踪,身份定位,延迟加载,查询转换,从而开发者可以专注于特定程序的业务逻辑而不是数据访问基础。

EF是一种对象/关系映射的框架。它是ADO.NET的增强,它为开发人员提供了一种数据库中数据访问和存储的自动化机制。

在三种情况下EF非常有用。第一,如果你已经拥有了一个数据库或者你希望先设计你的数据库而不是应用程序的其他部分。第二,你想专注与你的领域类并且根据这些领域类创建数据库。第三,你想在可视化设计器上设计你的数据库模式,然后创建数据库和类。

下图说明了上述的情况。

What is Entity Framework(什么是EF)_第1张图片
EF的三种模式

如上图所指出,EF可根据现有数据库创建了数据访问类,因此你可以使用这些类与数据库交互,而不是使用ADO.Net。

EF也可以根据你的领域类创建数据库,因此你可以专注与你的领域驱动设计。

EF为您提供模型设计器,您可以在其中设计数据库模型,然后EF根据您的数据库模型创建数据库和类。

什么是O/RM?

ORM是一套将数据从领域对象存储到关系数据库(比如微软的SQL Server)的工具,它是一种自动化方式,不需要过多的编程。
O/RM包含了三个主要部分:领域类对象,关系数据库对象以及如何将领域对象映射到关系数据库对象(表,视图和存储过程)的映射信息。ORM允许我们将我们的数据库设计和领域类设计分开。这使得应用程序可维护和可扩展。ORM也自动化了标准的CRUD操作(新建,查询,更新和删除),这样开发人员就不必手动地编写代码。

典型的ORM工具为您的应用程序生成数据库交互的类,如下图所示。


What is Entity Framework(什么是EF)_第2张图片
ORM

访问维基百科以获取关于对象-关系映射的更多信息。

请注意EF是微软的一个开源的框架。Github地址

你可能感兴趣的:(What is Entity Framework(什么是EF))