由于AddForeignKeyOperation,无法将SQLite模型升级到EF Core 2

时间:2017-08-29 16:35:24

标签: entity-framework asp.net-core entity-framework-core

我正在尝试将我的应用程序升级到ASP.NET Core 2,使用EF Core 2(和SQLite),换句话说netcoreapp2.0。我跟着upgrade guide

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

但是,当我尝试使用context.Database.Migrate();以编程方式创建数据库,或者使用dotnet ef database update在CLI上手动创建数据库时,我得到了

  

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

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

我确信这是基本的,但我无法追踪它。它可能是什么?

1 个答案:

答案 0 :(得分:2)

原来问题是没有删除所有迁移。

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

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

这个错误令人困惑,措辞不好,与问题无关。希望这有助于其他人。