实体框架模型首先

时间:2013-02-26 18:38:05

标签: entity-framework-5

我们正在权衡Model First和DB first development之间的利弊。我找到了以下内容 模型第一 优点 1. C#dev无需了解SQL stmts。 2. C#dev可以为他的业务需求创建一个更具体的实体。 缺点 1.无法使用供应商数据库中可用的更精细的功能(即SQL服务器中的列的约束)

对于DB首先,优点和缺点是逆转。这里有什么大不了的。我正慢慢向DB倾斜。建议。

1 个答案:

答案 0 :(得分:0)

根据您的项目,目前您可以使用三种可用的方法:DB First,Model First和Code First。

显然,在使用每种产品之前应该考虑一些权衡因素。

在开发业务对象及其关系时,您已经生成了大量的数据模型,并且禁止这种冗余是新方法和技术背后的理念。考虑到这一点,如果数据模型经常发生变化,那么DB First不是一个好的选择。

虽然整个想法很精彩,但新方法还不够成熟(见证Entity Framework经常发布和重大变化)。它们不能完全消除所提到的冗余,并且它们无法涵盖其框架中的所有DB First功能。此外,工作是通过中间层完成的,与DB First方法相比,这会降低性能。遗憾的是,除非您处于项目中间,否则您不会收到有关未覆盖功能的通知。因此,如果您需要复杂的功能或具有复杂的数据模型且业务模型不会经常更改,并且/或性能是高优先级,那么DB First是您的选择。

在这场斗争中发生了什么,我的意见是澄清应该回答的正确问题。由于数据库技术的优先级是稳定性,因此它们不受频繁或重大变化的影响(见证关系数据库)。从开发的角度来看,我们定义了对象及其关系,并将它们存储在集合中,并在需要时轻松检索它们,以便为什么要打扰这些易失性对象(它们在运行时在RAM中)的位置和方式。虽然提到的技术是开发人员的努力,但是数据库技术方面也在努力。在内存数据库中,面向对象的数据库......