我已经阅读了多篇关于这个问题的文章,但还没有明确的答案。 我们正在全公司范围内过渡到 EF Core 2.0,一次一个项目。
挑战在于:
- 启动一个新项目,并使用代码优先、迁移等创建数据库。
- 另一个程序员需要创建一个针对同一数据库的项目。
- 该程序员可以使用Scaffold-DbContext并生成当前模型。
- 但是,需要一个新列,第二个程序员会添加它。
现在。。。我们如何最好地更新其他项目? 是否有某些内容可以检查和同步或显示模型和数据库之间不同步的内容? 意思是检查数据库中的更改...不是模型。
如果这是最好的解决方案,我们不介意购买工具。
我们一直在使用的解决方案非常成功,是Visual Studio中的数据库项目。
利用每个开发人员在其解决方案中具有项目,在本地对其进行更改。 然后我们可以在 VS 内部进行"模式比较"。
在过去的三周里,我们四个人已经成功地使用它,几乎没有任何问题。
这甚至可以使存储过程的版本和更改保持最新。 它也适用于 VSTS。
以下是我读到的一些帖子,帮助我理解了它:
https://www.sqlchick.com/entries/2016/1/10/why-you-should-use-a-ssdt-database-project-for-your-data-warehouse
https://weblogs.asp.net/gunnarpeipman/using-visual-studio-database-projects-in-real-life
..这个论坛有很多相关的问题/答案: https://social.msdn.microsoft.com/Forums/sqlserver/en-us/home?forum=ssdt