Entity framework 实体框架-代码优先-它真的是大型项目的好方法吗?

Entity framework 实体框架-代码优先-它真的是大型项目的好方法吗?,entity-framework,Entity Framework,我一直在阅读实体框架的代码优先方法和其他方法(模型优先、数据库优先) 1.)在许多博客中支持实体框架代码优先方法的原因似乎是为了让开发人员感到高兴,这样他们就不必与设计师合作。我对这种说法感到惊讶,因为你开发一个项目是为了让你的客户满意,而不是让你的开发人员满意。有多少项目在项目计划中有开发者的快乐。另一个理由是避免在xml上进行大量映射。好吧,如果不是xml,我们最终会在onmodel中创建并向域模型添加[Key]属性。因此,映射并没有被消除 2.)此外,当您从代码(域模型)生成数据库时,域模

我一直在阅读实体框架的代码优先方法和其他方法(模型优先、数据库优先)

1.)在许多博客中支持实体框架代码优先方法的原因似乎是为了让开发人员感到高兴,这样他们就不必与设计师合作。我对这种说法感到惊讶,因为你开发一个项目是为了让你的客户满意,而不是让你的开发人员满意。有多少项目在项目计划中有开发者的快乐。另一个理由是避免在xml上进行大量映射。好吧,如果不是xml,我们最终会在onmodel中创建并向域模型添加[Key]属性。因此,映射并没有被消除

2.)此外,当您从代码(域模型)生成数据库时,域模型是以OO方式设计的,生成的数据库结构可能不是最佳的,这迫使我认为这种代码优先的方法只适用于小型项目

参数正确吗?

1)代码优先范式的原因是通过减少开发人员必须做的单调重复的工作来节省开发时间(这反过来会让他们更快乐)。代码优先允许开发人员在很大程度上忘记SQL(有时您仍然需要编写存储过程),而将注意力集中在数据模型和业务逻辑上。对数据库进行版本设置(特别是在开发过程中)要容易得多,因为每个开发人员只需更改他们的c#模型,而不必编写新的SQL脚本,签入它并确保团队中的其他人都知道如何运行它。至于过去orther ORM中的XML文件,我发现在修改域类时不断查找相应的XML文件是一件痛苦的事情。我个人认为,在对数据模型进行更改时,流畅的界面会更快。此外,v1.0中使用的xml文件实体框架变得如此之大,当您的数据库达到任何实际大小时,编辑/管理它们都是一件非常痛苦的事情


2) 我想不出一种情况,即数据模式只能通过SQL创建,而不能先用实体框架代码表示为c#。

code first不支持视图和存储过程。@Martin1921您能澄清一下吗?code first可能无法生成视图和存储过程(这是对上面答案第二点的回答),但我假设你仍然可以打电话给他们,对吗?