在Vs 2008和2010中使用实体框架之间有什么区别

时间:2010-04-02 06:13:54

标签: visual-studio visual-studio-2008 entity-framework visual-studio-2010

首先,您知道Entity Framework附带了Visual Studio 2008 SP1。现在它随Visual Studio 2010一起提供。

问题是,这两个版本之间有什么区别?

1 个答案:

答案 0 :(得分:11)

  1. 持久性无知:您可以定义自己的POCO(普通旧CLR对象),它们与任何特定的持久性技术分离。这允许您在需要时将一个数据访问堆栈替换为另一个数据访问堆栈。

  2. T4代码生成:EF 4将附带许多T4代码生成模板,您可以自定义或替换它们。 (T4是Visual Studio 2008或更高版本中内置的代码生成技术。)

  3. 延迟加载:除了预先加载和显式加载外,还可以根据需要自动加载相关实体。例如,对于具有OrderDetails属性的Order类,将此属性标记为虚拟将导致在枚举OrderDetails属性时自动从数据库加载订单详细信息。

  4. POCO变更跟踪:EF4将支持两种模型来跟踪POCO的变化。默认情况下,EF将拍摄对象原始状态的快照,然后在保存更改时将其与当前版本进行比较。或者,您可以将属性定义为虚拟属性,以便持续跟踪其状态并与对象状态管理器保持同步。

  5. 自我跟踪实体更好的N层支持:EF4的第一个CTP包括一个T4模板,用于生成跟踪客户端自身更改的实体,然后在跨服务边界发送并保存到数据库。

  6. 模型优先开发:为您的实体创建模型,然后让Visual Studio 2010生成DDL以创建具有匹配表和关系的数据库。

  7. 仅代码开发:编写类并让EF推断出一个概念模型(没有edmx文件!)。您甚至可以从动态模型生成DDL以创建数据库和表。

  8. 引自DevelopMentor

    what's new in EF