EF Code First,Model First或Db First?适用于许多不断变化的中型应用

Ami*_*aqi 3 database-design ef-code-first ef-database-first asp.net-mvc-4 entity-framework-5

我们将使用MVC 4和EF 5为私营公司开发一个中大型定制Web应用程序.

早期分析和以前在该业务领域的经验表明,它将拥有超过150个表/实体,因为我们的客户不是软件工程师,我们知道我们的数据模型将在项目进展中多次改变.

现在,根据以下内容,我的Q是哪种方法对我们更好:

1)由于会发生许多变化,因此更新数据模型和数据存储的工作量减少.

2)创建数据存储所需的时间更少,并有助于更快地推进项目.

注意:此应用程序将使用大量数据(对于某些实体,10k,100k对象).但是,它将很少(有时可能没有)并发请求和在线用户.

提前致谢

Moh*_*ari 6

我认为这个词

因为我们的客户不是软件工程师,我们知道我们的数据模型会多次改变

是现实,但不是数据模型多次改变的全部原因!

BTW一些​​建议可能会有所帮助将
业务分析作为关键点并继续进行业务分析
越来越多的分析投资将降低开发和变更管理的成本
让特定的有才华的分析师作为客户办公室的代表.
有一个特定的客户代表负责分析和开发团队.记录客户的业务流程,与客户讨论.记录谈判结果.
设计和变更管理
永远不要单独设计数据库.头脑风暴团队成员,邀请客户代表,邀请业务分析师,在设计团队中拥有DBA,具有Change-Manager角色.
技术
了解技术趋势(可能使用基于文档的数据库将有所帮助)
拥有灵活的框架和架构,为商业软件生产服务而不是反过来! 变化将会到来......准备好
变革将会到来,所有上述努力都旨在优化解决方案,以便在变更发生时降低成本,它们不会阻止变更.
您需要有一个可接受的机制来向客户收取费用
ITIL的服务级别管理,SLA和OLA将成为指导.

所以问题的答案是:
1)以上所有内容都有助于解决问题.首先使用模板方法继续进行交互式分析,然后进行下一次设计并在迭代中进行开发.这将会产生成本.
2)取决于技术和框架,将有工具(我不知道EF)只是不坚持特定的平台或库.

希望这可以帮助.