实体框架 - 概述


什么是实体框架?

实体框架于 2008 年首次发布,是 Microsoft .NET 应用程序和关系数据库之间交互的主要方式。实体框架是一种对象关系映射器 (ORM),它是一种简化软件中的对象与关系数据库的表和列之间的映射的工具。

  • Entity Framework (EF) 是 ADO.NET 的开源 ORM 框架,它是 .NET Framework 的一部分。

  • ORM 负责创建数据库连接和执行命令,以及获取查询结果并自动将这些结果具体化为应用程序对象。

  • ORM 还有助于跟踪这些对象的更改,并且根据指示,它还会为您将这些更改保留回数据库。

为什么选择实体框架?

实体框架是一种 ORM,ORM 旨在通过减少保留应用程序中使用的数据的冗余任务来提高开发人员的工作效率。

  • 实体框架可以生成在数据库中读取或写入数据所需的数据库命令并为您执行它们。

  • 如果您正在查询,则可以使用 LINQ toEntity 表达针对域对象的查询。

  • 实体框架将在数据库中执行相关查询,然后将结果具体化为域对象的实例,以便您在应用程序中工作。

市场上还有其他 ORM,例如 NHibernate 和 LLBLGen Pro。大多数 ORM 通常将域类型直接映射到数据库模式。

典型的 ORM

实体框架具有更细粒度的映射层,因此您可以自定义映射,例如,通过将单个实体映射到多个数据库表,甚至将多个实体映射到单个表。

EF 运行时元数据
  • 实体框架是微软推荐的新应用程序的数据访问技术。

  • ADO.NET似乎直接指的是数据集和数据表的技术。

  • 实体框架是所有前瞻性投资的所在地,这种情况已经存在多年了。

  • Microsoft 建议您使用 ADO.NET 上的实体框架或 LINQ to SQL 进行所有新开发。

概念模型

对于习惯以数据库为中心的开发的开发人员来说,实体框架最大的转变是它让您可以专注于您的业务领域。您希望您的应用程序在不受数据库功能限制的情况下执行什么操作?

  • 对于实体框架,焦点被称为概念模型。它是应用程序中对象的模型,而不是用于保存应用程序数据的数据库模型。

  • 您的概念模型可能恰好与您的数据库模式一致,也可能完全不同。

  • 您可以使用可视化设计器来定义概念模型,然后该模型可以生成您最终将在应用程序中使用的类。

  • 您可以只定义您的类并使用实体框架的一项称为“代码优先”的功能。然后实体框架将理解概念模型。

概念模型

无论哪种方式,实体框架都会解决如何从概念模型转移到数据库的问题。因此,您可以查询概念模型对象并直接使用它们。

特征

以下是实体框架的基本功能。该列表是根据最显着的功能以及有关实体框架的常见问题创建的。

  • 实体框架是微软的一个工具。
  • 实体框架正在作为开源产品开发。
  • 实体框架不再依赖于 .NET 发布周期。
  • 适用于具有有效实体框架提供程序的任何关系数据库。
  • 从 LINQ to Entities 生成 SQL 命令。
  • 实体框架将创建参数化查询。
  • 跟踪内存中对象的更改。
  • 允许插入、更新和删除命令生成。
  • 使用视觉模型或您自己的类。
  • 实体框架具有存储过程支持。