ASP.Core EF Add-Migration命令不工作

本文关键字:工作 命令 Add-Migration Core EF ASP | 更新日期: 2023-09-27 17:54:20

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

找到了多个DbContext。指定使用哪一个。
PowerShell命令使用'-Context'参数'——context'参数用于dotnet命令。

注释

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

ASP.Core EF Add-Migration命令不工作

运行以下命令(来自本文)和@Maverik(来自StackOverflow)的回复以及@doctor上面的建议帮助我解决了这个问题。谢谢大家的帮助:

PM> Add-Migration MyFirstMigration -Context BloggingContext

如果有多个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>Add-Migration MyFirstMigration -Context YourDbContext

PM>update-database -Context

[- context]

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

Add-Migration MyMigration -context DataContextName