首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >首先,CodeFirst相对于数据库的优势是什么?

首先,CodeFirst相对于数据库的优势是什么?
EN

Stack Overflow用户
提问于 2011-07-02 18:19:20
回答 4查看 13.1K关注 0票数 7

我看了一些EF4.1的视频和教程,我不明白CodeFirst有什么好处(除了一些如果DB是非常小的3-4个表,我懒得先创建DB )。

大多数情况下,到目前为止最好的方法是在某种类型的数据库编辑器中创建数据库,这肯定比在实体模型中编辑更快,EF会拾取每个关系并正确地创建关联。我知道在命名约定等方面存在挑战,但我觉得首先管理代码非常令人困惑,因为一切看起来都像代码,而且代码也太多了。

什么是CodeFirst可以做而Db first不能做的?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-07-02 18:31:57

CodeFirst不能做DB first不能做的事情。归根结底,他们都在使用实体框架。

使用codefirst的主要优点是:

  • Development速度-您不必担心创建数据库,您只需开始编码即可。对于来自编程背景但没有太多DBA经验的开发人员来说是很好的选择。它还具有自动数据库更新功能,因此,无论您何时建模更改,DB都会自动执行updated.
  • POCOs --代码更加干净,不会出现大量自动生成的代码。您可以完全控制每个classes.
  • Simple -您不需要edmx模型来更新或维护

有关更多信息,请参阅Code-first vs Model/Database-first和此处Code-First or Database-First, how to choose?

票数 21
EN

Stack Overflow用户

发布于 2014-07-12 04:07:00

来自于DataCentric方法,我总是觉得人们喜欢用代码优先的方法创建代码是很奇怪的。当我设计我的数据库时,我已经在考虑每个表是什么,就好像它们是类一样。它们如何链接在一起,以及数据将如何流动。我可以通过数据库对整个系统进行镜像。

我一直被教导说,你从头开始工作,建立正确的基础,其他一切都会随之而来。我为许多不同的公司创建了很多很多不同的系统,我的速度是基于这样一个事实:一旦我有了一个强大的数据库模型,我就运行我的自定义代码生成器,它为我创建视图/存储过程以及我的Controller/BusinessLayer/DataLayer,将所有这些放在一起,我所要做的就是创建前端。

如果我必须先用代码创建整个系统来生成数据库,以及所有其他项目,那么我会想象这需要更长的时间。我并不是说我在任何方面都是正确的,我相信可能有更快、更有经验的方法来开发系统,但到目前为止,我还没有找到一种方法。

感谢你让我发言,我希望我的观点能有所帮助。

票数 9
EN

Stack Overflow用户

发布于 2012-02-24 04:23:40

CodeFirst的EntityFramework 4.3中支持迁移,因此您可以轻松地将模型更改无缝地更新到数据库Reference 1

详细视频:Complete Reference Video

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6556399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档