Entity Framework - 概述

什么是实体框架?

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

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

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

  • ORM还有助于跟踪对这些对象的更改,并在指示时,它还会将这些更改保留回数据库.

为什么选择实体框架?

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

  • 实体框架可以生成用于在数据库中读取或写入数据并为您执行的必要数据库命令.

  • 如果您正在查询,则可以针对您的域表达您的查询使用LINQ到实体的对象.

  • 实体框架将在数据库中执行相关查询,然后将结果具体化为域对象的实例,以便您在app.

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

典型ORM

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

EF运行时元数据

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

  • ADO.NET似乎直接引用了数据集和数据表的技术.

  • 实体框架是所有正在进行的投资的地方,已有多年的情况.

  • Microsoft建议您在ADO.NET或LINQ to SQL上使用Entity Framework进行所有新开发.

概念模型

对于习惯于数据库聚焦开发的开发人员来说,实体框架的最大转变是它可以让你专注于您的业务领域.你希望你的应用程序做什么而不受数据库能够做什么的限制?

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

  • 您的概念模型可能与您的数据库模式可能完全不同.

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

  • 您可以定义类并使用名为Code First的实体框架功能.然后实体框架将理解概念模型.

概念模型

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

功能

以下是Entity Framework的基本功能.此列表是基于最显着的功能以及有关实体框架的常见问题创建的.

  • 实体框架是Microsoft工具.

  • 实体框架正在开发为开源产品.

  • 实体框架不再与.NET发布周期捆绑或依赖.

  • 与任何具有有效实体框架提供程序的关系数据库一起使用.

  • 从LINQ到实体生成SQL命令.

  • 实体框架将创建参数化查询.

  • 跟踪对内存中对象的更改.

  • 允许插入,更新和删除命令生成.

  • 使用可视化模型或您自己的类.

  • 实体框架已存储过程支持.