【问题标题】:Are EF4 classes really POCO?EF4 课程真的是 POCO 吗?
【发布时间】:2011-01-31 13:20:57
【问题描述】:

我开始在我的新项目中研究 EF4 作为 NH 的可能替代品。我对对象优先的开发很感兴趣。我找到了一个教程,它驱使我创建一个设计器表面并在这里绘制我的实体......生成的实体是 plenty 的属性(这是 POCO 吗?),所以我要问的是: 是否有某种方法可以通过在代码中编写实体、无需拖动和设计以及创建和更新数据库来使用 EF4?一些教程/博客?

【问题讨论】:

  • 在我看来,“POCO”的意思是:“不是从指定的库派生的”类;而不是“没有库定义的接口/属性”。但从 POCO 的一些初步定义中,人们可能会觉得它是后者。
  • 至少应该是“不强制派生自...”,不应该吗?

标签: .net entity-framework-4


【解决方案1】:

EF 提供了多种创建实体的方法。首先是简单地使用设计器,让它为你生成类作为设计器的“代码背后”。这些是重型实体 - 没有 POCO。第二种方法是使用设计器但关闭自动生成。相反,您将使用 POCO T4 template,它将为您创建真正的 POCO(您也可以创建 POCOs by yourselves,但您必须使用 follow strict rules - 特别是如果您想使用延迟加载)。最后一个选项是使用新的Code-First approach,它不是EF 本身的一部分——它目前在CTP5 中。这种方法让您可以定义 POCO 类并使用流畅的 API 或属性来映射它们。

【讨论】:

  • 所以我们必须等待代码优先方法的生产版本才能拥有与 NH 相当的东西
  • 我现在对设计师和模板很满意,并且我在业余项目中使用 Code-First。
【解决方案2】:

Julie Lerman's blog 上有一个关于 EF4 和 POCO 类的相当全面的教程。它可能有你要找的东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多