我正在尝试将我的应用程序升级到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
命令(我搜索它)。我搜索了我的迁移文件,但他们没有使用该命令。
我确信这是基本的,但我无法追踪它。它可能是什么?
答案 0 :(得分:2)
原来问题是没有删除所有迁移。
我进行了“初始”迁移,然后是migration1,migration2等。初始迁移来自模板,因此它具有Identity / roles / users / etc.所以我单独留下那个并删除/重新创建其他的(即使用我的域模型的那些)。
事实证明,当我删除所有迁移并重新创建它们时,我就停止了这个错误。
这个错误令人困惑,措辞不好,与问题无关。希望这有助于其他人。