【问题标题】:ASP.NET Core EF Add-Migration command not workingASP.NET Core EF Add-Migration 命令不起作用
【发布时间】:2016-11-04 20:36:06
【问题描述】:

当我在从同一教程创建的 VS2015 项目中运行 PM> Add-Migration MyFirstMigration 命令时,按照此 Microsoft Tutorial,我收到以下我无法解决的错误:

找到多个 DbContext。指定使用哪一个。
对 PowerShell 命令和 dotnet 命令的“--context”参数。

注意事项

  1. 我正在使用上述教程,但我使用的是Individual User Account 身份验证,而不是教程中使用的No Authentication
  2. 我有最新版本的ASP.NeT Core 1.0 and VS2015-Update 3 on windows 8.1
  3. 这是一个新创建的项目。没有手动安装其他 DbContext

【问题讨论】:

  • 错误文字描述了原因和应该怎么做。

标签: c# visual-studio-2015 asp.net-core entity-framework-core


【解决方案1】:

运行以下命令(从 this article 获得)和来自 @Maverik 的响应(来自 StackOverflow here)以及来自上述@doctor 的建议帮助我解决了这个问题。谢谢大家的帮助:

PM> Add-Migration MyFirstMigration -Context BloggingContext

【讨论】:

  • 同时 -Context 更改为 -c 我可以测试
  • 在.net core 2.0中应该是--context
  • 是否有可能多个上下文在 name 中相同但仅在 namespace 中不同?
【解决方案2】:

那是因为您的解决方案中有两个 DbContext。首先是在您创建项目(ApplicationDbContext)时默认创建,其次是您的 EF DbContext。 错误消息中描述了解决方案,只需指定您的 EF DbContext

【讨论】:

    【解决方案3】:

    如果有多个 DbContext,则错误清楚地解释了使用 db 上下文名称提及 --context。因此,请尝试提及您的 DbContext 名称。

    dotnet ef migrations add Initial --context SampleDbContext
    

    希望这会有所帮助。

    【讨论】:

    • 不是有多个数据库上下文的问题吗?我们需要多个上下文吗?我们如何识别和删除它们??
    • 没有。这不是多个数据库上下文的问题。我们可以使用多个数据库上下文,例如在多租户架构中它需要多个数据库上下文。所以有些情况需要多个数据库上下文。
    • 没有列出如果您有多个上下文该怎么做。如果我有 10 个呢?我列出--context 10 次???
    【解决方案4】:

    如果您只需要更新现有的身份架构,请尝试:

    update-database -Context ApplicationDbContext
    

    ApplicationDbContext = 你的身份上下文

    【讨论】:

      【解决方案5】:

      Add-Migration MyFirstMigration -Context DbContextName

      它在我的项目中确实有效。

      【讨论】:

        【解决方案6】:

        使用下面的命令:

        PM> Add-Migration MyFirstMigration -Context YourDbContext

        PM> 更新数据库-Context YourDbContext

        【讨论】:

        • Add-Migration 和 dotnet ef Initial Migration 有什么区别?
        【解决方案7】:

        [--context]

        要使用的 DbContext 类。仅类名或完全限定 命名空间。如果省略此选项,EF Core 将查找上下文 班级。如果有多个上下文类,则需要此选项。

        Add-Migration MyMigration -context DataContextName
        

        【讨论】:

          猜你喜欢
          • 2016-01-04
          • 1970-01-01
          • 2021-12-29
          • 2017-11-23
          • 1970-01-01
          • 2021-12-28
          • 1970-01-01
          • 2020-07-14
          • 2020-11-27
          相关资源
          最近更新 更多