【问题标题】:Entity Framework 3.5 or 4.0?实体框架 3.5 还是 4.0?
【发布时间】:2010-11-18 14:34:23
【问题描述】:

我正在开始一个新项目,客户希望将实体框架用于他们的业务层。他们目前正在使用 .NET Framework 3.5。将实体框架升级到 4.0 是否值得?两个版本之间有哪些重大变化?

【问题讨论】:

  • 它支持的不仅仅是 POCO。看看这个:stackoverflow.com/questions/2565269/…
  • 没有 EF 3.5。它从 1.0 跃升至 4.0
  • 我想他是在询问是否将 EF 与 .NET Framework 3.5 或 4.0 一起使用,以及从 3.5 升级到 4.0 是否有任何优势涉及 EF。
  • 是的,我的意思是 .NET 3.5 和 4.0 中的 EF。

标签: c# .net entity-framework entity-framework-4


【解决方案1】:

Entity 4.0 支持POCO (Plain Old CLR Objects),如果您进行模型优先(而不是数据库优先)开发,例如Domain Driven Design,这是一个很大的优势。

Here 是一篇比较 Entity 1.0 和 4.0 的文章。关于 4.0,它陈述(并讨论)了以下新特性:

  1. 执着无知
  2. POCO(普通旧 CLR 对象)
  3. T4 代码生成
  4. 自我跟踪实体
  5. 模型优先开发
  6. FK 协会
  7. 仅代码

【讨论】:

  • 如果我们在做数据库优先设计,POCO 是否支持很多好处?
  • 它仍然可以有价值,因为类对象可以独立于数据库。它使您可以更灵活地随时间更改对象。例如,您可以从与数据库的 1:1 映射开始,但您始终可以对类进行重构/重构,使其与物理数据库结构不同。此外,如果您首先设计数据库,则没有要求类模型必须是 1:1 映射。
  • 在创建 4.0 实体模型时,它是默认将它们创建为 POCO 类,还是我需要做些什么来制作 POCO?
  • 使用 POCO 和使用数据库优先设计进行开发并不是相互排斥的,我实际上在我最近的项目中将它们结合在一起。 POCO 支持的好处是可以选择以持久无知的方式开发域层(POCO 不是从 EntityObject 类派生的),这使得对域功能进行单元测试更加容易。
猜你喜欢
  • 1970-01-01
  • 2014-08-15
  • 2011-07-05
  • 2011-04-18
  • 2011-05-06
  • 1970-01-01
  • 1970-01-01
  • 2011-12-25
  • 2011-02-04
相关资源
最近更新 更多