按照此 Microsoft 教程,当我在从同一教程创建的 VS2015 项目中运行
PM> Add-Migration MyFirstMigration
命令时,出现以下无法解决的错误:
发现多个 DbContext。指定使用哪一个。
对 PowerShell 命令使用“-Context”参数 dotnet 命令的“--context”参数。
注意事项
Individual User Account
身份验证,而不是教程中使用的 No Authentication
。ASP.NeT Core 1.0 and VS2015-Update 3 on windows 8.1
该错误清楚地解释了如果有多个 DbContext,则要提及 --context 和 db Context 名称。因此,请尝试提及您的 DbContext 名称。
dotnet ef migrations add Initial --context SampleDbContext
希望这有帮助。
如果您只需要更新现有的身份架构,请尝试:
update-database -Context ApplicationDbContext
ApplicationDbContext = 您的身份上下文
因为您的解决方案中有两个 DbContext。第一个是创建项目(ApplicationDbContext)时默认创建的,第二个是 EF DbContext。 错误消息中描述了解决方案,只需指定您的 EF DbContext
Add-Migration MyFirstMigration -Context DbContextName
它在我的项目中确实有效。
使用以下命令:
PM> 添加迁移 MyFirstMigration -Context YourDbContext
PM> 更新数据库 -Context YourDbContext
[--上下文]
要使用的 DbContext 类。仅类名或完全限定 命名空间。如果省略此选项,EF Core 将查找上下文 班级。如果有多个上下文类,则需要此选项。
Add-Migration MyMigration -context DataContextName
添加-迁移InitialCreate 来源:
https://learn.microsoft.com/en-us/ef/core/managing-schemas/migrations/?tabs=dotnet-core-cli