【问题标题】:Can't upgrade SQLite model to EF Core 2 due to AddForeignKeyOperation由于 AddForeignKeyOperation,无法将 SQLite 模型升级到 EF Core 2
【发布时间】:2017-08-30 03:02:41
【问题描述】:

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

我还重新创建了迁移,并注意到新的迁移与我记得的 1.1 中的迁移完全不同(发送到数据库的不同命令、不同的语法等)。但是我的模型是一样的,生成迁移后,一切编译正常。

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    事实证明,当我删除所有迁移并重新创建它们时,我不再收到该错误。

    该错误令人困惑且措辞不佳,与问题无关。希望这对其他人有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-21
      • 2021-11-30
      • 1970-01-01
      • 2018-01-13
      • 1970-01-01
      • 2015-04-21
      • 1970-01-01
      • 2019-12-15
      相关资源
      最近更新 更多