VS 2010 Entity Framework CTP 概览

  • Jonathan Allen
  • 张龙

2009 年 7 月 3 日

话题:.NETDevOps语言 & 开发架构

Visual Studio 2010 beta 1 中并没有包含 Visual Studio 2010 的所有特性,首当其冲的就是一些重要的 ORM 特性,而 Entity Framework CTP 1 支持 Self Tracking Entity、POCO Templates 以及 EDMX-free 编码。

Self Tracking Entity就是那些含有内部变化跟踪信息的实体。其典型的使用场景就是借助于 WCF 通信的远程客户端。在本地跟踪变化信息,,然后将变化图发回到服务器端。一旦服务器端收到该信息之后就对其进行验证,然后通过 Entity Framework 将其存储到数据库中。Diego Vega 说到

将 Self Tracking Entity 设计成 POCO 类的一个主要目标是在分布式环境下客户端机器无需 Entity Framework。为了让其在客户端序列化时能更容易地与 Self Tracking Entity 协同工作,我们还打算让服务与客户端之间共享类型信息。
目前我们可以让 Self Tracking Entity 运行在不包含 Entity Framework 的 CLR 上,比如说 Silverlight 3。

接下来就是POCO Templates了,它操作的依然是 EDMX 文件,然而他们将该模板分成两部分。第一个模板生成数据类本身,FixupCollection 类会跟踪其变化。第二个模板会生成与数据库交互的 ObjectContext。

通过将模板分成两部分(一部分生成实体及 ComplexTypes,另一部分生成强类型的上下文),实体与 ComplexType 根本就感觉不到持久化的存在,同时我们还可以将这些类放到普通(即没有持久化信息)的程序集或项目中。

最后一个重要特性就是“Code Only”了。本质上,我们可以通过该特性来使用 Entity Framework 而无需 EDMX 文件。但该特性依旧处于萌芽状态,还有不少限制,比如说还不支持多对多的关联。

查看英文原文:Entity Framework CTP for VS 2010

.NETDevOps语言 & 开发架构