核心2保持域模型与数据库更改同步

时间:2018-04-20 14:31:23

标签: entity-framework-core ef-migrations database-first asp.net-core-2.1

需要帮助!我是Core 2.0和VS 2017的新手,并且对MVC没有多少经验。我有一个现有的数据库,我需要在工作中使用核心2.0项目。我能够使用Scaffold-DbContect最初从现有数据库创建域模型。

但是,数据库开发人员正在对数据库进行更改并添加新表。我需要让我的域模型与正在进行的数据库更改保持同步。

我在互联网上唯一能找到的是如何更改模型和更新数据库架构。但是,我需要根据对数据库所做的更改来更新模型。

2 个答案:

答案 0 :(得分:1)

EF Core适用于Code First方法。而且你们一起关注DB First方法。因此,您应该对代码进行更改,然后相应地生成迁移,否则会导致您遇到麻烦。

您可以使用EF Core Power tool在代码端生成数据库更改。但在这种情况下,您必须在从代码端生成迁移时注意。

答案 1 :(得分:0)

我有类似的情况。已经有人在SQL Server中设计和构建数据库(56个表),而他现在已经离开了。 我正在使用该数据库创建Web应用程序。我更喜欢先执行EF代码,这样我就可以从代码控制数据库。 问题是,创建具有关系,约束和所有名称约定的所有表需要花费一些时间,需要进行位重构,如果遵循数据库优先方法,则很难完成位重构。 我估计大约需要一个星期(5个工作日)的工作,但是挑战,我如何才能同意我的IT经理,因为他更担心如果我们投资1周的时间,是否值得?我们需要这样做。

请问谁能列举出代码优先方法的真正优势以及我们将要面对的数据库优先问题。