2017-08-29 56 views
1

我试图将我的应用升级到带有EF Core 2(和SQLite)的ASP.NET Core 2,换句话说netcoreapp2.0。我跟着upgrade guide由于AddForeignKeyOperation无法将SQLite模型升级到EF Core 2

我也重新创建迁移,并注意到新的与我从1.1中记得的不同命令(发送到db的不同命令,不同语法等)完全不同。但是我的模型是一样的,在生成迁移之后,所有内容都可以正确编译。

但是,当我尝试使用dotnet ef database update,或者在CLI手动创建编程方式使用context.Database.Migrate();分贝,我得到

System.NotSupportedException:SQLite不支持此迁移操作(“AddForeignKeyOperation”)。有关更多信息,请参阅http://go.microsoft.com/fwlink/?LinkId=723262

但是,我不在我的解决方案的任何地方(我搜索它)使用AddForeignKeyOperation命令。我搜索了我的迁移文件,并且他们不使用该命令。

我确定这是基本的,但我无法追查到它。会是什么呢?

回答

0

原来的问题并不是删除所有的迁移。

我进行了“初始”迁移,然后是migration1,migration2等。最初的迁移来自模板,因此它具有Identity/roles/users/etc。所以我只剩下那个人并删除/重新创建其他人(即使用我的域模型)。

事实证明,当我删除所有迁移,并重新创建它们时,我停止了那个错误。

该错误令人困惑,措辞不佳,与问题无关。希望这可以帮助别人。