[翻译] - <Entity Framework> - 简介

纯属学习上的记录, 非专业翻译, 如有错误欢迎指正!

原文地址: http://msdn.microsoft.com/en-us/library/gg696172(v=vs.103).aspx

 

ADO.NET EF(Entity Framework) 是一项用于面向数据软件开发的技术, 它使开发者能够使用像 Customers 或者 CustomerAddresses 这样的特殊对象来处理数据, 而不用考虑真正用于存储数据的底层数据表和列. 通过 EF, 开发者能够在一个更高的抽象层次上处理数据, 并且可以用比传统方式更少的代码来创建和维护面向数据的软件.

ADO.NET EF是第一次作为 .Net Framework 和 Microsoft Visual Studio 的一部分推出. 从 EF 4.1 开始, EF 将不再是 .NET 的一部分, 而是建立在 .NET 之上. (译注:这里有点疑问) 若想获得 EF 的最新版本, 可以用 'Entity Framework' NuGet .

.NET Framework 和 Visual Studio 中支持 EF 技术的主要有: ObjectContext, EntityClient,MetadataWorkspace, EntityDataSource, EDMX 文件和 ADO.NET Entity Data Model Tools 中属于 Visual Sutdio 的部分;

属于 EF 而不属于 .NET 的有: DbContext, Code First, Migrations, ADO.NET DbContext Code Generator T4 模板;

概述

DF 其实就是一个对象关系映射 (ORM), 降低了.Net Framework 开发者的面向对象世界与关系数据库的XXXXf(impedance mismatch). 它允许开发者仅使用熟悉的面向对象技术, 就能与一个程序的概念模型进行主要交互. 在 EF 中, 你可以通过特定的对象和属性来处理数据, 比如 Customers 或 CustomerAddress. 完全不用担心底层数据库中的表和列. 开发者可以通过概念模型进行数据访问操作, 而 EF 则会将这些操作转换成传统的关系数据操作.

在 EF 程序中有两个主要层次:

  建模层;

  对象层;

其中建模层又分为三个部分:

  由基于 Entity Data Model (EDM) 的特定类型和关系组成概念模型;

  用于定义表和关系的数据库模式;

  概念模型和数据库模式之间的映射

其中映射部分被 EF 将用于把对实体对象的直接操作, 比如 Create, Read, Update, Delete 等, 翻译成等效的数据库操作;

EF 中的对象层包含映射概念模型中定义的实体和关系的通用语言运行时 (CLR) 对象. 这些对象可以用过编程语言调用. 对象类型的确切格式是由你向 EF 提供的选项所决定的.

映射和建模 

有不同的方法可以创建映射层和对象层

  可以使用 ADO.NET Entity Data Model Tools 从一个数据库中生成模型. 这将生成一个默认的概念模型和映射, 你可以通过 Entity Data Model Disigner 来定制他们. 也可以通过 Entity Data Model Designer 以图形的方式创建一个概念模型, 然后通过工具由模型所生成的元数据, 生产一个数据库. 欲了解更多信息, 请参考 Entity Data Model Tools.

  可以使用代码优先模式在代码中定义你的概念模型. EF 将通过你定义的对象类型和附加设置来推断出概念模型. 映射的元数据会由你在代码中定义的区域类型和附加设置信息所决定, 在运行时生成. 总之, 仅可以通过一个已存在的数据库映射出模型, 也可以通过定义一个模型来生成数据库. 欲了解更多的信息, 请参看 Code First Development.

对象的使用

通过 EF 的对象层你可以:

  进行对概念模型的查询;

  将数据源返回的数据转化为对象;

  跟踪对象的改变;

  将对象的改变反馈回数据源;

  将对象绑定到控件;

参考

概念

Entity Framework Releases and Versioning

What's New

其他资源

Getting Started with the Entity Framework

([翻译] - <Entity Framework> - EF 入门)

posted @ 2012-04-14 21:18  Howll Chen  阅读(352)  评论(0编辑  收藏  举报