如何修改 EF-Core Database-First (PostgreSQL) 项目以同时使用 SQLite 和 Xa



我的场景

我有一个PostgreSQL数据库。我使用EntityFrameworkCore"数据库优先"方法为其创建了模型(Scaffold-Db命令)。EntityFrameworkCore 类位于 .NET Standard 2.0 类库中,因为我计划在多个平台(WPF、Xamarin.Forms)上使用它。

PostgreSQL适用于我的WPF项目。为了使它与我的Xamarin.Forms项目一起工作,我使用命令Add-Migration为SQLite创建了一个迁移。

然后我尝试运行Update-Database命令,但失败了,并告诉我 SQLite 数据库中不能有序列。所以我打开了迁移文件并删除了所有添加序列的行。然后,Update-Database命令工作得很好。

问题所在

问题是,当我运行 Xamarin.Forms 项目并尝试使用数据库时,我收到一个异常,说">SQLite 不支持序列"。

问题

有没有人有手动编辑迁移以便它与 SQLite 一起使用的经验?

这是我正在使用的:

  • Visual Studio 2019 版本 16.3.5
  • Microsoft.实体框架核心 2.2.4
  • Microsoft.EntityFrameworkCore.Sqlite 2.2.4
  • Microsoft.EntityFrameworkCore.Design 2.2.4
  • Microsoft.EntityFrameworkCore.Tools 2.2.4
  • Xamarin.Forms 4.2.0.709249

没关系,我想我已经想通了。 我忘了删除这部分modelBuilder.HasSequence("some_sequence_id");在我的DbContextOnModelCreating方法中。

现在数据库在WPFXamarin.Forms上运行,唯一要做的就是DbContext的决定机制,因此它将根据平台使用正确的提供程序。

我希望这对某人有所帮助。

最新更新