代码优先还是数据库优先

本文关键字:数据库 代码 | 更新日期: 2023-09-27 18:09:23

我们正在重写我们的web应用程序(至少3个),并将我们的数据库统一为一个。现在的问题是,我们是先选代码还是先选数据库。我们将使用MVC 5和SQL 2014。除了偏好之外,任何优点和缺点都将非常感谢

谢谢

代码优先还是数据库优先

Code-First使您有机会开发不完全受数据库和EF影响的丰富领域模型。这就是从代码开始的主要好处。

通常可以将模型拟合到现有的数据库中。这需要一点想象力和妥协。

Database-First方法倾向于做出太多破坏域模型的妥协。这通常会导致所谓的贫血域模型,其中大部分域逻辑被推入控制器。这反过来又大大减少了解决方案中对象的使用,导致缺乏灵活性和紧密耦合。

底线是,在我的项目中,我更喜欢代码优先。这是因为我是一个面向对象的程序员,这使我有机会开发适当的面向对象的应用程序。

如果您正在重写您的软件,我认为规格说明几乎是清楚的。在这种情况下,如果您熟悉ER建模,我通常更喜欢db-first方法。(我习惯做代码优先为本地数据库,但db优先为服务器应用程序/api)

代码优先对于开发过程是非常灵活的,特别是当模型经常更改时。但是,如果您对需求有一个清晰的分析,并且熟悉ER建模,那么您就可以设计一个好的模型并解耦开发步骤。