实体框架 - 代码优先 - 这对大项目来说真的很好吗?

时间:2011-12-13 03:04:10

标签: entity-framework

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

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

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

论证是否正确?

1 个答案:

答案 0 :(得分:1)

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

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

相关问题