C# 将自定义.NET ORM迁移到实体框架/Dapper
我继承了一个规模庞大、有点迷宫式的项目。流量足够大,需要优化数据访问,因此我开始将javascript调用的一些WCF服务转换为Web API 不幸的是,数据库的主键(不是自动递增的)也由自定义ORM通过查询返回下一组要使用的ID的MySQL函数来管理。然后ORM缓存它们并将它们提供给应用程序。数据库本身是一个不断增长的2 TB数据,这将使停机时间变得非常重要 我曾计划使用Dapper,因为我在过去享受过易用性/性能,但从这个定制ORM中剔除这个数据库似乎令人望而生畏,而且容易出错 问题:C# 将自定义.NET ORM迁移到实体框架/Dapper,c#,mysql,asp.net-web-api,migration,dapper,C#,Mysql,Asp.net Web Api,Migration,Dapper,我继承了一个规模庞大、有点迷宫式的项目。流量足够大,需要优化数据访问,因此我开始将javascript调用的一些WCF服务转换为Web API 不幸的是,数据库的主键(不是自动递增的)也由自定义ORM通过查询返回下一组要使用的ID的MySQL函数来管理。然后ORM缓存它们并将它们提供给应用程序。数据库本身是一个不断增长的2 TB数据,这将使停机时间变得非常重要 我曾计划使用Dapper,因为我在过去享受过易用性/性能,但从这个定制ORM中剔除这个数据库似乎令人望而生畏,而且容易出错 问题: 有
- 有人对处理大型项目有什么建议吗
- 我应该更多地关注将数据库迁移到一个全新的数据结构中吗?(它也需要显著的标准化!)
- 当您想要为系统添加业务价值时,重新设计的效果几乎为零
- 这个系统,无论好坏,都能正常工作。不管你多么小心,你总是可以用结构性的改变来搞乱一些事情
- 我的浅见:
处理遗留代码时的一条经验法则是:如果某个代码有效,请保持这种方式。如有必要,进行更改或改进。主要原因是:
你好 很好的视角。我更多的是从“全部重建”的角度来看应用程序,但增加业务价值是一个重要的、现实的观点。也许,增量升级定制ORM并为其提供更好的接口(例如Web API)是最好的方法。谢谢你的回答和资源!