📜  Entity Framework-概述

📅  最后修改于: 2020-11-21 07:12:20             🧑  作者: Mango


什么是实体框架?

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

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

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

  • ORM还有助于跟踪对这些对象的更改,并且在得到指示时,还将为您将这些更改保存回数据库。

为什么使用实体框架?

实体框架是一个ORM,ORM旨在通过减少持久化应用程序中使用的数据的冗余任务来提高开发人员的生产率。

  • Entity Framework可以生成用于在数据库中读取或写入数据的必要数据库命令,并为您执行这些命令。

  • 如果要查询,则可以使用LINQ to实体对域对象表示查询。

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

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

典型的ORM

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

EF运行时元数据

  • 实体框架是Microsoft推荐用于新应用程序的数据访问技术。

  • ADO.NET似乎直接涉及到用于数据集和数据表的技术。

  • 实体框架是进行所有前瞻性投资的地方,已经有很多年了。

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

概念模型

对于习惯于数据库开发的开发人员来说,Entity Framework的最大转变是它使您可以专注于业务领域。您希望应用程序执行什么而不受数据库功能的限制?

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

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

  • 您可以使用Visual Designer定义概念模型,然后可以生成最终将在应用程序中使用的类。

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

概念模型

无论哪种方式,Entity Framework都可以计算出如何从概念模型转移到数据库。因此,您可以查询概念模型对象并直接使用它们。

特征

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

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