我是MVC以及EF的初学者。为了更好地使用这些技术,我决定更清楚地理解事物。
现在,我已经开始阅读EF,并知道有Model-first
, Database-first
和Code-first
技术。
我真的想从一个对我最有好处的开始,因为我要使用MVC进行开发,然后再回到其他两个,并在它们之间进行比较。
我唯一的问题是,我应该从哪个技术开始并使用?
如果我正在建立一个新的网站,我会使用Code First肯定因为Code First是:
- 技术的未来(实体框架),微软所有的努力都是在开发这项新技术。(我自己没有想到这个,我在微软的一个家伙的一篇文章中读到它,对不起,我不记得是谁了)。
- 它是为DDD(领域驱动开发)开发人员构建的,它与TDD/BDD并肩成为构建软件系统的标准(强词)或正确的方式。
- 正如它的名字所暗示的那样,你可以直接开始编码(这是我喜欢做的),然后再担心精细的持久性细节,这是你应该做的。
我只会去数据库优先如果我是强迫与现有的数据库工作。
模型优先是向代码优先迈进了一步,所以如果我是你,我不会倒退。
注意:查看这个问题在这里得到一个更好的比较实体框架代码优先与模型/数据库优先
对于我们来说,我们基于数据库是否已经存在。在许多情况下,我们有预先存在的数据库,因此我们使用数据库优先。接下来,我们更倾向于创建数据库,然后从中构建模型,因为我们在这样做方面更有经验。我曾经做过一次代码优先,我发现它很痛苦,但是您确实有更好的控制,并且更好地理解EF在幕后做了什么。
对不起,我不能提供一个更好的答案。