asp.net-mvc-4 - EF 代码优先、模型优先还是数据库优先?对于许多变化的中大型应用程序

标签 asp.net-mvc-4 database-design ef-code-first entity-framework-5 ef-database-first

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

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

现在,我的问题是根据以下内容哪种方法更适合我们:

1) 由于会发生许多更改,因此可以减少更新数据模型和数据存储的工作量。

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

注意:此应用将处理大量数据(某些实体为 10k、100k 对象)。但是,它的并发请求和在线用户很少(有时可能没有)。

提前致谢

最佳答案

我认为这个词

because our customer isn't a software engineer and we know that our data model will change many times

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

顺便说一句,一些建议可能会有所帮助
将业务分析作为重点并持续进行业务分析
越来越多的分析投资将导致开发和变更管理成本降低
在客户办公室配备一名特定的才华横溢的分析师作为代表。
有专门的客户代表负责分析和开发团队。 记录客户的业务流程,与客户讨论。记录谈判结果。
设计和变更管理
永远不要单独设计数据库。集思广益团队成员、邀请客户代表、邀请业务分析师、设计团队中有 DBA、变更经理角色。
技术
看看技术趋势(可能使用基于文档的数据库会有帮助)
拥有灵活的框架和架构,为业务软件生产服务,而不是相反! 改变将会到来......做好准备
变化终将到来,上述所有努力都是为了优化解决方案以降低变化发生时的成本,它们不会阻止变化。
您需要有一个可接受的机制来向客户计费
ITIL's服务级别管理,SLA和OLA将成为指导方针。

所以问题的答案是:
1)以上所有内容都有助于解决问题。首先继续进行交互式分析,然后使用模板方法进行迭代设计和开发。变化将会到来,并且会付出代价。
2)取决于技术和框架,会有工具(我不知道EF)只是不坚持特定的平台或库。

希望这有帮助。

关于asp.net-mvc-4 - EF 代码优先、模型优先还是数据库优先?对于许多变化的中大型应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17898567/

相关文章:

asp.net-mvc - WIF 不适用于 ASP.NET MVC 4

api - 今天开始使用 MVC4 Web Api 进行开发,使用 Beta?

python - Django 和 eBay 风格的多列表

mysql - MySQL 中的 3000 万行

c# - Entity Framework 代码优先 - 无法在对象 'db' 中插入重复键

c# - 保存上传到 azure 网站的文件

asp.net-mvc-4 - .NET MVC4 ActionNameSelectorAttribute View 中的多个按钮不起作用

database - 使用 C#、sql、asp.net、exchange 在 SQL 中培训数据库设计

c# - FK到同表Code First Entity Framework

sql-server - 如何从 Entity Framework 访问FileTables?