ADO.NET Entity Framework 简介

一直对EF都是一知半解的,没有系统的了解过EF有什么样的功能,有什么具体的好处。在接下来的文章中会详细介绍EF。以下是参考MSDN上的文章,翻译并加以自己的理解得出的。

ADO.NET Entity Framework 简介

在微软的ADO.NET Entity Framework是一个对象/关系映射(Object/Relational Mapping)框架,使开发人员可以使用域特定对象的关系数据,消除了大部分需要开发者编写的数据访问管道代码。使用EF,开发者可以使用LINQ查询问题,然后检索和操纵数据作为强类型的对象,EF的对象关系映射实现提供了服务如便更跟踪,identtity resolution,延迟加载以及查询转换,以便开发者能把重点聚焦在他们特定的应用程序业务逻辑上而不是在数据访问层面上。

EF的高级功能

  • 兼容大部分的数据库服务器(包括 SQL Server,Oracle和DB2)
  • 包含了丰富的映射引擎能够很好的处理真实世界数据库架构和存储过程
  • 提供集成VisualStudio 工具直观地创建实体模型和从现有数据库自动生成实体模型。新的数据库可以通过手动编辑完全控制模型的部署
  • 提供使用代码创建实体模型的Code First的体验.Code First能够映射现有数据库或者从模型生成数据库。
  • 集成比较好的.NET 应用程序模型,包括ASP.NET,WPF,WCF和WCF 数据服务(前身是ADO.NET 数据 服务)

EF是建立在现有ADO.NET提供模型上,现有提供的模型可以更新和支持新的EF功能。因为这样,ADO.NET 开发者能很轻松把现有建立在ADO.NET的应用程序搬移到EF上。

用EF开发能提供以下的好处:

  • 减少开发者时间:EF框架提供了核心的数据存取能力因此开发者专注于应用程序的逻辑上。
  • 开发者以应用程序为中心的对象模型而言,包括的类型有,继承,复杂成员和关系。在.NET Framework 4.0 中,也支持Plain Old CLR Objects(POCO)实体。
  • 应用程序能从硬编码倚靠特定的数据引擎或者存储架构中释放出来而支持概念模型即物理存储模型。
  • 能映射对象模型和特定的存储架构改变已变应用程序代码。
  • 对概念模型写的LINQ查询支持智能感知和编译时语法验证。

程序开发者使用EF的Entity Data Model(EDM) 来描述特定的应用程序对象或者概念模型,EDM建立在广为人知的ERM(Entity Relationship model)上,来加深对逻辑数据架构上的抽象层次上,EDM的发展成为整个一套从微软开发人员和服务器技术通用数据模型主要目标

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章