📜  .NET Framework中的实体框架是什么?

📅  最后修改于: 2021-05-29 23:05:36             🧑  作者: Mango

实体框架是Microsoft支持的.NET应用程序的开源对象关系映射器框架。它使开发人员可以使用特定于领域的类的对象来处理数据,而不必关注存储该数据的基础数据库表和列,从而提高了开发人员的生产率。它消除了用于与开发人员通常需要编写的数据库进行交互的大多数数据访问代码的需求。它为开发人员提供了抽象级别,以通过使用特定于域的对象来处理关系表和列。它还减少了数据特定应用程序的代码大小,并且通过使用它也提高了代码的可读性。这是一种用于访问Microsoft应用程序数据的新技术。实体框架的最新版本是6.0。

下图描述了实体框架在您的应用程序中的位置。

实体框架

上图表示实体框架如何与域类和数据库进行交互。它提供了业务实体与数据库中数据表之间的连接。它保存存储在业务实体属性中的数据,还从数据库中检索数据并将其自动转换为业务实体对象。实体框架将在数据库中执行相关查询,然后将结果具体化为域对象的实例,以供您在应用程序内工作。

概念模型

概念模型

首先定义实体框架的类和功能,然后将实体框架首先将其转换为概念模型,然后根据概念模型在数据库中创建数据库和对象,此方法称为“代码优先”。现在,您的对象可以直接与数据库一起使用以检索或进行更改。

实体框架的特征

  • 它是平台无关的。
  • 它使用LinQ查询而不是SQL查询来操纵数据库中的数据。
  • 它跟踪实体属性已更改的值。
  • 它还可以保存通过插入,删除或更新操作完成的更改。
  • 它还处理并发性,因此数据将被用户覆盖,并会在其他用途获取数据时反映出来。
  • 它还可以自动处理事务管理,还提供用于事务管理的自定义选项。
  • 它提供了缓存,这意味着它存储了常用查询的结果。
  • 它还遵循某些编程约定,因此默认情况下配置EF模型。
  • 它还允许通过流利的API配置EF模型,以覆盖默认约定。
  • 如果您对数据库架构进行了任何更改,则可以通过在CLI(命令行界面)中编写迁移命令来将这些更改反映在EF模型中。
  • 它还支持存储过程。
  • 它还支持参数化查询。

参考: https://docs.microsoft.com/en-in/ef/ef6/