Entity Framework 4.0 Beta新特性

Entity Framework 4.0 Beta 1(又称EF V2)与.NET 4.0 Beta 1一起发布,包含了一系列的重要改进:自定义代码生成、延迟加载、N层支持、POCO支持、DDL生成、自定义查询等等。

EF4.0引入的重要改进如下:

  1. 自定义代码生成——集成到ADO.NET Entity Framework设计器和Visual Studio中的T4模版让开发者可控制代码生成
  2. 一些小特性让应用程序的开发更加简单——在模型中的复数形式和单数形式、延迟加载、更多的存储过程映射使得用Entity Framework建立应用程序更加容易
  3. 自定义查询——对已有的LINQ操作符、用LINQ识别更大量的模式集合、在LINQ中可编写模型来定义函数以及一系列的其他方法来创建和自定义查询
  4.  生成SQL语句的可读性改善——提高所生成的查询语句的可读性并优化TSQL性能可使得它更易于理解

以下是EF 4.0已有特性改进的详细说明:

N层开发

N层开发的一个重要方面是在服务器和客户端之间进行Entity状态交换。Diego Vega,ADO.NET Entity Framework编程经理,进一步详细描述到:

为了帮助程序员实现以上需求,EF 4.0包含下列API调用:

  • ObjectContext.ApplyOriginalValues
  • ObjectStateManager.ChangeObjectState
  • ObjectStateManager.ChangeRelationshipsState

除了底层的API以外,EF还包含自跟踪实体:

自跟踪实体知道如何做自身的修改跟踪,而不管那些修改是在那一层发生的。作为一位架构师,自跟踪实体介于DTO和DataSet之间,包含了两者的长处。

ADO.NET小组会提供T4模版(没有包含在Beta中)来生成ObjectContext的类和扩展方法。

模型优先

Visual Studio 2010可以生成DDL并创建数据库来存储实体数据模型。开发人员可完全控制整个流程来自定义DDL、选择所需的数据库或者最终映射过程。

延迟加载

在EF 4.0中,关于实体的延迟加载可以通过设置ContextOptions.DeferredLoadingEnabled属性为true来实现。延迟加载能够同代码生成的实体以及POCO一起工作。默认情况下延迟加载是关闭的,但这个属性可以自定义修改。

POCO支持

在.NET 3.5中,EF对象需要继承EntityObject或实现以下的一个接口: IEntityWithKey、IEntityWithChangeTracker和IEntityWithRelationships。那会引入领域模型对持久层的高度关注。所有这些约束在EF 4.0中都被移除,并允许完全透明的持久性。

查看英文原文:What’s New in Entity Framework 4.0 Beta?

你可能感兴趣的:(Entity Framework 4.0 Beta新特性)