4

我是 MVC 和 EF 的初学者。为了更好地使用这些技术,我决定更清楚地理解事物。

现在,我已经开始阅读有关 EF 的内容,并且知道有Model-first,Database-firstCode-first技术。

我真的想从对我最有利的一个开始,因为我将使用 MVC 进行开发,然后再回到其他两个并比较它们。

我唯一的问题是,我应该从哪种技术开始并使用?

4

2 回答 2

2

对我们来说,我们基于数据库是否已经存在。在许多情况下,我们有预先存在的数据库,所以我们使用数据库优先。展望未来,我们更喜欢创建数据库,然后从中构建模型,因为我们在这样做方面更有经验。我做过一次代码优先,我发现这很痛苦,但是您确实可以更好地控制并更好地了解 EF 在幕后所做的事情。

抱歉,我无法提供更好的答案。

于 2013-02-27T18:21:55.583 回答
2

如果我正在建立一个新网站,我肯定会使用Code First,因为Code First是:

  1. 技术的未来(实体框架),微软的所有努力都在开发这项新技术。(这不是我自己想出来的,我是在微软的一个人的一篇文章中读到的,抱歉我不记得是谁了)。
  2. 它是为DDD(领域驱动开发)开发人员构建的,与 TDD/BDD 并列正在成为构建软件系统的标准(强词)或正确方式。
  3. 正如它的名字所暗示的那样,您可以立即开始编码(我喜欢这样做)并担心稍后您应该做的精细持久性细节。

如果我被迫使用现有数据库,我只会选择Database First 。

Model First 是向Code First迈出的一步,所以如果我是你,我不会倒退。

注意:在此处查看此问题以获得更好的比较实体框架代码优先与模型/数据库优先

于 2013-02-27T23:11:27.723 回答