C# ASP.NET核心EF添加迁移命令不工作
接下来,在同一教程创建的VS2015项目中运行“添加迁移MyFirstMigration”命令时,我遇到了以下无法解决的错误: 找到多个DbContext。指定要使用的选项。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
对于PowerShell命令和 dotnet命令的“--context”参数 注意事项
个人用户帐户
身份验证,而不是教程中使用的无身份验证
运行以下命令(从中获得)和@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初始迁移之间的区别是什么?