我的场景
我有一个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");
在我的DbContext
的OnModelCreating
方法中。
现在数据库在WPF
和Xamarin.Forms
上运行,唯一要做的就是DbContext
的决定机制,因此它将根据平台使用正确的提供程序。
我希望这对某人有所帮助。