ORM代码首先是生产中的数据库

时间:2015-06-08 08:29:50

标签: c# sql-server entity-framework mongodb ef-code-first


我从1985年开始使用SQL,因此对数据库服务器非常熟悉 我认为(C#)Code First是另一种时尚,来来去去。它似乎适合没有DBA背景的人。同样,如果使用Code First并且您不知道您要连接的是什么数据库,例如,稍后它可能是Mongo也是一个有用的抽象。 Code First不会让自己接受数据库图表,因此您可以看到正在发生的事情 我想知道如何首先使用代码将更改提升到生产SQL服务器,而不像使用ALTER TABLE命令那样不需要删除和重新创建数据库。我使用了Red-Gate的工具,使数据库代码升级变得简单。 为什么Code First呢? 如何将数据库更改转移到生产中?

1 个答案:

答案 0 :(得分:0)

代码优先方法在您对应用程序进行原型设计并且一开始就不太在意“持久层”时确实非常有用。在您还没有很好定义事物的时候,它可以帮助您快速获得结果,因为您始终可以非常轻松地删除并重新创建未开发项目的数据库。

不幸的是,大多数提供此方法的工具并不能真正帮助从“未开发项目模式” 过渡到更长期的“遗留项目模式” ,在此数据库迁移是必要。实际上,不仅采用“客户端模型优先”方法很难实现数据库迁移,而且更重要的是,数据库模型设计不当的可能性非常高。

开发人员为快速获胜付出了高昂的代价-一如既往。这确实不是一个好主意,并且许多经验丰富的开发人员习惯于处理遗留问题,并同意您的观点:首先进入数据库,然后从中获取您的客户(例如ORM)模型。

I have written about this topic here, including the advantage of using client model source code generation

相关问题