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