【问题标题】:Advantages of Code Only model in Entity Framework 4?Entity Framework 4 中纯代码模型的优势?
【发布时间】:2011-03-14 23:16:34
【问题描述】:

Entity Framework 4.0 Futures 预览版(现在是 CTP3)有一个纯代码建模范例,用于在您的类型和数据库之间进行映射。不涉及 edmx 文件,也不需要 EDM 设计器。

我想知道 Code Only 与 Model First 的最大优势是什么?什么可以在 Code First 中完成而在其他模型中无法完成(模型优先和数据库优先)?我在想也许有更多的控制权,但我仍然无法修改 CSDL、SSDL、MSL 文件和我自己的代码来获得我需要的结果。仅代码模型涉及在代码中执行所有可能容易出错的操作,例如生成错误的所需模型或缺少属性定义。

【问题讨论】:

    标签: .net entity-framework-4


    【解决方案1】:

    这确实是一个偏好问题。引用 EF 设计博客:

    但是,许多开发人员查看他们的 代码作为他们的模型。

    理想情况下,这些开发人员只想 编写一些域类并且没有 曾经接触过一位设计师或一件作品 XML 能够将这些类与 实体框架。基本上他们 想写“仅代码”。

    http://blogs.msdn.com/b/efdesign/archive/2009/06/10/code-only.aspx

    【讨论】:

      【解决方案2】:

      根据我的经验,我会选择 Model-First,因为它允许您以如此复杂的方式对您的域进行建模,而在 Code-First 中进行这将具有挑战性。事实上,有几个高级建模场景是您无法在第一版代码中实现的。这完全是我的想法,基于我对复杂建模的理解。但在 EF 团队最终确定 Code-First 之前,我们不会知道。

      此外,如果您来自 linq to sql 世界,您会惊讶地看到实体模型设计器的出色表现。它真的很棒,可以让您在开发人员方面花费很少的精力来构建复杂的模型。

      【讨论】:

        【解决方案3】:

        这样做的一个直接优势是,如果您当前正在编写部分类以向您的实体添加方法或数据注释,那么您现在可以将模型定义和方法都放在一个地方。如果模型随着时间的推移变得复杂,那么当您需要添加新字段、确保其经过验证并添加逻辑时,您可能很难在需要触及的任何地方保持笔直。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-04-30
          • 2011-03-14
          • 1970-01-01
          • 2014-01-20
          • 1970-01-01
          • 2015-06-24
          相关资源
          最近更新 更多