55

Following this Microsoft Tutorial when I run the PM> Add-Migration MyFirstMigration command in VS2015 project created from the same tutorial I get the following error that I can't resolve:

More than one DbContext was found. Specify which one to use.
Use the '-Context' parameter for PowerShell commands and the '--context' parameter for dotnet commands.

Point to note

  1. I'm using the above tutorial with the exception that I'm using Individual User Account authentication instead of No Authentication used in the tutorial.
  2. I've latest release of ASP.NeT Core 1.0 and VS2015-Update 3 on windows 8.1
  3. This is a freshly created project. No other DbContext was manually installed
naveen
  • 53,448
  • 46
  • 161
  • 251
nam
  • 21,967
  • 37
  • 158
  • 332

7 Answers7

77

Running the following command (obtained from this article) and a response from @Maverik (from StackOverflow here) and a suggestion from @doctor above helped me resolved the issue. Thank you all for your help:

PM> Add-Migration MyFirstMigration -Context BloggingContext
shA.t
  • 16,580
  • 5
  • 54
  • 111
nam
  • 21,967
  • 37
  • 158
  • 332
19

The error clearly explains to mention --context with db Context name if more than one DbContext. So try by mentioning your DbContext name.

dotnet ef migrations add Initial --context SampleDbContext

Hope this helps.

John
  • 423
  • 4
  • 15
  • 1
    Isn't the issue that there are multiple db contexts? Do we need multiple contexts? How do we identify & delete them?? – timk Dec 24 '18 at 11:49
  • no. This is not an issue with multiple db contexts. We can use multiple db contexts, for example in multi tenant architecture it requires multiple db contexts. So there are situations where multiple db contexts required. – John Jan 31 '19 at 17:37
  • Didn't list what to do if you have multiple contexts. What if I have 10? Do I list `--context` 10 times??? – C.J. Sep 03 '20 at 19:21
15

If you need only update a identity schema existent, try it:

update-database -Context ApplicationDbContext

ApplicationDbContext = your identity context

Diego Venâncio
  • 5,698
  • 2
  • 49
  • 68
4

that because you have two DbContext in your solution. First is default created when you creating project(ApplicationDbContext) and second your EF DbContext. Solution is described in error message just specify your EF DbContext

2

Add-Migration MyFirstMigration -Context DbContextName

It does work in my project.

Amit Joshi
  • 15,448
  • 21
  • 77
  • 141
1

Use below to commands:

PM> Add-Migration MyFirstMigration -Context YourDbContext

PM> update-database -Context YourDbContext

juagicre
  • 1,065
  • 30
  • 42
1

[--context]

The DbContext class to use. Class name only or fully qualified with namespaces. If this option is omitted, EF Core will find the context class. If there are multiple context classes, this option is required.

Add-Migration MyMigration -context DataContextName
Arshman Saleem
  • 135
  • 1
  • 7