2016-04-21 70 views
2

是否有其他人在Shawn Wildermuth的Pluralsight课程“使用ASP.NET Core RC1,MVC 6,EF7 & AngularJS构建Web应用程序”中进行第二次迁移?Pluralsight课程中的EF7迁移

具体来说,命令

dnx ef migrations add IdentityEntities 

导致此异常:

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

第一迁移和数据库的建立似乎去罚款,所以我不知道是什么导致了这一点。

回答

3

我刚刚通过从解决方案资源管理器中删除整个Migrations文件夹来解决此问题。我不确定导致此错误的具体原因,但我认为如果您将迁移命名为同一事物(您的案例中的IdentityEntities),则可能会发生此问题。

2

看起来你应该明确指定一个迁移名称和上下文作为参数。我不知道那是什么意思看使用时dnx,但是当使用程序包管理器控制台在Visual Studio中正确的命令就像是

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

我已经第一次尝试简单

Add-Migration MyProjectContext 

其中有生成的2个文件,而且

Database-Update 

和结果之后是System.ArgumentException: GenericArguments[0], 'SqliteEfcExample.Migrations.MyProjectContext', on 'Microsoft.EntityFrameworkCore.Infrastructure.IDbContextFactory 1[TContext]' violates the constraint of type 'TContext'.

我已经删除了,然后通过Add-Migration MyProjectContext(感谢@布伦丹 - l为提示),并产生2个文件重新创建他们Add-Migration -Name "MyProjectMigration" -Context "MyProjectContext",之后

Update-Database -Context "MyProjectContext" 

工作就好了。