【问题标题】:Visual Studio does not react after EF "Enable-Migration"EF“启用迁移”后 Visual Studio 没有反应
【发布时间】:2018-03-11 13:15:08
【问题描述】:

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

在包管理器控制台中键入 Enable-Migrations 包括连接字符串和 dbcontext 后,Visual Studio 不再反应。我已经等了30分钟。各自的数据库包含大约 100 个填充表(但从我在 SQL Studio 中看到的内容似乎没有改变)。我已经用不同的上下文和相同的结果尝试了两次该命令。 Visual Studio 实际上是否仍在后台工作(CPU 使用率 0.4%)?有关解决此问题的任何建议吗?

【问题讨论】:

  • 看看这个和你之前的问题,看起来你误解了“自动”和“常规”迁移的含义。重要的是两者都是迁移,所以你应该已经启用它们,所以不需要Enable-Migrations 命令。
  • @IvanStoev 哇哦,我想我必须覆盖现有的迁移,因为它被配置为自动。我现在将尝试手动添加迁移,如果可行,我会回复您。非常感谢!

标签: c# entity-framework entity-framework-migrations


【解决方案1】:

关于主要问题:

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

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

如果您在数据库中有多个 dbContext,那么使用迁移会变得更加复杂。基本上,您需要为每个上下文启用迁移并指定一个唯一的 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

【讨论】:

    猜你喜欢
    • 2014-03-23
    • 1970-01-01
    • 2017-04-16
    • 1970-01-01
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    • 2016-12-10
    • 2017-06-03
    相关资源
    最近更新 更多