ASP.NET Core EF 添加迁移命令不起作用

问题描述 投票:0回答:8

按照此 Microsoft 教程,当我在从同一教程创建的 VS2015 项目中运行

PM> Add-Migration MyFirstMigration
命令时,出现以下无法解决的错误:

发现多个 DbContext。指定使用哪一个。
对 PowerShell 命令使用“-Context”参数 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
8个回答
77
投票

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

PM> Add-Migration MyFirstMigration -Context BloggingContext

19
投票

该错误清楚地解释了如果有多个 DbContext,则要提及 --context 和 db Context 名称。因此,请尝试提及您的 DbContext 名称。

dotnet ef migrations add Initial --context SampleDbContext

希望这有帮助。


15
投票

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

update-database -Context ApplicationDbContext

ApplicationDbContext = 您的身份上下文


4
投票

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


2
投票

Add-Migration MyFirstMigration -Context DbContextName

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


1
投票

使用以下命令:

PM> 添加迁移 MyFirstMigration -Context YourDbContext

PM> 更新数据库 -Context YourDbContext


1
投票

[--上下文]

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

Add-Migration MyMigration -context DataContextName

© www.soinside.com 2019 - 2024. All rights reserved.