C# ASP.NET核心EF添加迁移命令不工作

C# ASP.NET核心EF添加迁移命令不工作,c#,visual-studio-2015,asp.net-core,entity-framework-core,C#,Visual Studio 2015,Asp.net Core,Entity Framework Core,接下来,在同一教程创建的VS2015项目中运行“添加迁移MyFirstMigration”命令时,我遇到了以下无法解决的错误: 找到多个DbContext。指定要使用的选项。 对于PowerShell命令和 dotnet命令的“--context”参数 注意事项 我使用的是上述教程,但我使用的是个人用户帐户身份验证,而不是教程中使用的无身份验证 我在windows 8.1上发布了ASP.NeT Core 1.0和VS2015 Update 3的最新版本 这是一个新创建的项目。没有手动安装其他Db

接下来,在同一教程创建的VS2015项目中运行“添加迁移MyFirstMigration”命令时,我遇到了以下无法解决的错误:

找到多个DbContext。指定要使用的选项。
对于PowerShell命令和 dotnet命令的“--context”参数

注意事项

  • 我使用的是上述教程,但我使用的是
    个人用户帐户
    身份验证,而不是教程中使用的
    无身份验证
  • 我在windows 8.1上发布了ASP.NeT Core 1.0和VS2015 Update 3的最新版本
  • 这是一个新创建的项目。没有手动安装其他DbContext

  • 运行以下命令(从中获得)和@Maverik的响应(从StackOverflow获得)以及上面@doctor的建议帮助我解决了这个问题。感谢大家的帮助:

    PM> Add-Migration MyFirstMigration -Context BloggingContext
    

    这是因为您的解决方案中有两个DbContext。第一个是在创建项目(ApplicationDbContext)时默认创建的,第二个是EF DbContext。
    解决方案在错误消息中进行了描述,只需指定EF DbContext即可。错误清楚地解释为:如果有多个DbContext,则使用db context名称表示上下文。因此,请尝试提及您的DbContext名称

    dotnet ef migrations add Initial --context SampleDbContext
    

    希望这有帮助。

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

    update-database -Context ApplicationDbContext
    

    ApplicationDbContext=您的身份上下文

    在项目中有多个上下文可以吗?我在问,在使用个人用户帐户身份验证时,在我的项目中有两个DbContext是否正常。

    添加迁移MyFirstMigration-Context DbContextName

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

    使用以下命令:

    PM>添加迁移MyFirstMigration-Context YourDbContext

    PM>更新数据库-上下文YourDbContext


    错误文本描述了原因以及您应该做什么。同时,
    -Context
    从我可以测试的内容更改为
    -c
    。在.net core 2.0中应该是
    -Context
    。是否存在多个db上下文的问题?我们需要多个上下文吗?我们如何识别和删除它们?不。这不是多数据库上下文的问题。我们可以使用多个db上下文,例如在多租户体系结构中,它需要多个db上下文。所以有些情况下需要多个db上下文。没有列出如果有多个上下文该怎么办。如果我有10个呢?我是否列出了
    --context
    10次???添加迁移和dotnet ef初始迁移之间的区别是什么?