2016-04-21 9 views
2

Hat jemand andere Probleme mit der zweiten Migration in Shawn Wildermuth Pluralsight Kurs "Erstellen einer Web App mit ASP.NET Core RC1, MVC 6, EF7 & AngularJS"?EF7 Migration in Pluralsight Kurs

Insbesondere der Befehl

dnx ef migrations add IdentityEntities 

Ursachen dieser Ausnahme:

GenericArguments[0], 'TheWorld.Models.IWorldRepository', on 'Microsoft.Data.Entity.Infrastructure.IDbContextFactory`1[TContext]' violates the constraint of type 'TContext'. 

Die erste Migration und Datenbankerstellung schien in Ordnung zu gehen, so dass ich bin mir nicht sicher, was das verursacht.

Antwort

3

Ich habe das Problem behoben, indem ich den gesamten Migrationsordner aus dem Projektmappen-Explorer löschte. Ich bin nicht sicher, was genau diesen Fehler verursacht, aber ich denke, wenn Sie Ihre Migrationen die gleiche Sache nennen (IdentityEntities in Ihrem Fall), wird das Problem wahrscheinlich auftreten.

2

Offenbar sollten Sie einen Migrationsnamen und den Kontext explizit als Parameter angeben. Ich bin nicht sicher, was es bedeutete, aussehen, wenn dnx verwenden, aber wenn in Visual Studio den richtigen Befehl, um den Package Manager Console ist

Add-Migration -Name "MyProjectMigration" -Context "MyProjectContext" 

ich zum ersten Mal einfach versucht habe

Add-Migration MyProjectContext 

die hat 2 Dateien erzeugt und danach

Database-Update 

und das Ergebnis war die System.ArgumentException: GenericArguments[0], 'SqliteEfcExample.Migrations.MyProjectContext', on 'Microsoft.EntityFrameworkCore.Infrastructure.IDbContextFactory 1[TContext]' violates the constraint of type 'TContext'.

Ich habe dann die zwei Dateien erzeugt durch Add-Migration MyProjectContext (dank @ brendan-l für den Hinweis) gelöscht und mit Add-Migration -Name "MyProjectMigration" -Context "MyProjectContext" und danach

neu erstellt
Update-Database -Context "MyProjectContext" 

funktionierte gut.