EF"启用 - 迁移"后,Visual Studio不会做出反应。

时间:2018-03-11 13:15:08

标签: c# entity-framework ef-migrations

我正在尝试使用Visual Studio 2017 as explained here从自动迁移切换到EF 6中的常规迁移。

在Package Manager控制台中键入包含连接字符串和dbcontext的Enable-Migrations后,Visual Studio不再做出反应。我等了30分钟。相应的数据库包含大约100个填充表(但似乎不受我在SQL工作室中看到的影响)。我用不同的上下文和相同的结果尝试了两次命令。 Visual Studio是否仍然在后台运行(CPU使用率为0.4%)?有关修复此问题的建议吗?

1 个答案:

答案 0 :(得分:0)

关于主要问题:

如果Visual Studio在Enable-Migration命令后没有反应,根据我的经验,你做错了什么。就我而言,之前已经启用了迁移,并且已经存在通用的“迁移”文件夹。此外,我在这个文件夹中混合了多个dbContexts,这是不可能的,并导致奇怪的错误消息(甚至可能甚至不再响应Visual Studio)。

更具体地针对我的多个上下文问题:

如果数据库中有多个dbContexts,则表明使用迁移会变得更复杂一些。基本上,您需要为每个上下文启用迁移并指定唯一的MigrationsDirectory。 Details on this topic can be found here。删除项目中的Migrations文件夹并分别为每个dbContext应用以下命令,为我解决了这个问题:

enable-migrations -ContextTypeName MultiDataContextMigrations.Models.DataContext -MigrationsDirectory:DataContextMigrations
Add-Migration -configuration MultiDataContextMigrations.DataContextMigrations.Configuration Initial
Update-Database -configuration MultiDataContextMigrations.DataContextMigrations.Configuration -Verbose