【发布时间】:2011-02-03 15:34:40
【问题描述】:
您首先知道 Entity Framework 是随 Visual Studio 2008 SP1 提供的。现在它随 Visual Studio 2010 一起提供。
问题是,这两个版本有什么区别?
【问题讨论】:
标签: visual-studio visual-studio-2008 entity-framework visual-studio-2010
您首先知道 Entity Framework 是随 Visual Studio 2008 SP1 提供的。现在它随 Visual Studio 2010 一起提供。
问题是,这两个版本有什么区别?
【问题讨论】:
标签: visual-studio visual-studio-2008 entity-framework visual-studio-2010
持久性无知:您可以定义与任何特定持久性技术分离的自己的 POCO(普通旧 CLR 对象)。这允许您在需要时将一个数据访问堆栈换成另一个。
T4 代码生成:EF 4 将附带许多 T4 代码生成模板,您可以自定义或替换为您自己的模板。 (T4 是 Visual Studio 2008 或更高版本中内置的代码生成技术。)
延迟加载:除了急切和显式加载之外,相关实体还可以按需自动加载。例如,对于具有 OrderDetails 属性的 Order 类,将此属性标记为虚拟将导致在枚举 OrderDetails 属性时自动从数据库加载订单详细信息。
POCO 更改跟踪:EF4 将支持两种模型来跟踪 POCO 上的更改。默认情况下,EF 将拍摄对象原始状态的快照,然后在保存更改时将其与当前版本进行比较。或者,您可以将属性定义为虚拟,以便持续跟踪其状态并与对象状态管理器保持同步。
通过自我跟踪实体提供更好的 N 层支持:EF4 的第一个 CTP 包含一个 T4 模板,用于生成在客户端上跟踪其自身更改的实体,然后在跨服务边界发送时对其进行序列化并保存到数据库。
模型优先开发:为实体创建模型,然后让 Visual Studio 2010 生成 DDL 以创建具有匹配表和关系的数据库。
纯代码开发:编写类并让 EF 推断概念模型(没有 edmx 文件!)。您甚至可以从动态模型生成 DDL 来创建数据库和表。
【讨论】: