实体框架 – 概述
实体框架 – 概述
什么是实体框架?
Entity Framework 于 2008 年首次发布,这是 Microsoft 在 .NET 应用程序和关系数据库之间进行交互的主要方式。实体框架是一种对象关系映射器 (ORM),它是一种工具,可简化软件中的对象到关系数据库的表和列之间的映射。
-
实体框架 (EF) 是 ADO.NET 的开源 ORM 框架,它是 .NET Framework 的一部分。
-
ORM 负责创建数据库连接和执行命令,以及获取查询结果并自动将这些结果具体化为您的应用程序对象。
-
ORM 还有助于跟踪对这些对象的更改,并且在收到指示时,它还会为您将这些更改保存回数据库。
为什么是实体框架?
实体框架是一个 ORM,ORM 旨在通过减少保留应用程序中使用的数据的冗余任务来提高开发人员的生产力。
-
Entity Framework 可以生成读取或写入数据库中数据所需的数据库命令,并为您执行。
-
如果您要进行查询,则可以使用 LINQ to entity 表达对域对象的查询。
-
实体框架将在数据库中执行相关查询,然后将结果具体化到域对象的实例中,以便您在应用程序中工作。
市场上还有其他 ORM,例如 NHibernate 和 LLBLGen Pro。大多数 ORM 通常将域类型直接映射到数据库模式。
Entity Framework 具有更细粒度的映射层,因此您可以自定义映射,例如,通过将单个实体映射到多个数据库表,甚至将多个实体映射到单个表。
-
实体框架是 Microsoft 为新应用程序推荐的数据访问技术。
-
ADO.NET 似乎直接指的是数据集和数据表的技术。
-
实体框架是进行所有前瞻性投资的地方,多年来一直如此。
-
Microsoft 建议您通过 ADO.NET 或 LINQ to SQL 使用实体框架进行所有新开发。
概念模型
对于习惯于以数据库为中心的开发的开发人员来说,Entity Framework 的最大转变是它让您可以专注于您的业务领域。您希望您的应用程序在不受数据库功能限制的情况下做什么?
-
对于实体框架,焦点被称为概念模型。它是应用程序中对象的模型,而不是用于保存应用程序数据的数据库模型。
-
您的概念模型可能恰好与您的数据库模式一致,也可能完全不同。
-
您可以使用可视化设计器来定义您的概念模型,然后可以生成您最终将在应用程序中使用的类。
-
您可以定义您的类并使用名为 Code First 的实体框架功能。然后实体框架将理解概念模型。
无论哪种方式,实体框架都会解决如何从您的概念模型转移到您的数据库。因此,您可以查询概念模型对象并直接使用它们。
特征
以下是实体框架的基本功能。此列表是根据最显着的功能以及有关 Entity Framework 的常见问题创建的。
- 实体框架是微软的工具。
- 实体框架正在开发为开源产品。
- 实体框架不再绑定或依赖于 .NET 发布周期。
- 适用于任何具有有效实体框架提供程序的关系数据库。
- 从 LINQ 到实体的 SQL 命令生成。
- 实体框架将创建参数化查询。
- 跟踪对内存中对象的更改。
- 允许插入、更新和删除命令生成。
- 使用可视化模型或您自己的类。
- 实体框架具有存储过程支持。