您如何修改EF-Core Database-First(PostgreSQL)项目以与SQLite和Xamarin.Forms一起使用

问题描述 投票:0回答:1

我的场景

我有一个PostgreSQL数据库。我已经使用Scaffold-Db“数据库优先”方法为其创建了模型(EntityFrameworkCore命令)。 EntityFrameworkCore类在.NET Standard 2.0类库中,因为我打算在多个平台(WPFXamarin.Forms)上使用它。

PostgreSQL与我的WPF项目一起使用。为了使其与我的Xamarin.Forms项目一起使用,我使用命令SQLiteAdd-Migration创建了一个迁移。然后,我尝试运行Update-Database命令,该命令失败,并告诉我SQLite数据库中没有序列。因此,我打开了迁移文件,并删除了所有添加序列的行。然后,Update-Database命令运行正常。

问题

问题是,当我运行Xamarin.Forms项目并尝试使用数据库时,出现一个异常,提示“ SQLite不支持序列”。

问题

任何人都对手动编辑迁移以便可以与SQLite一起使用有任何经验吗?

非常感谢。

这是我正在使用的:

  • Visual Studio 2019版本16.3.5
  • Microsoft.EntityFrameworkCore 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
postgresql sqlite xamarin.forms entity-framework-core ef-migrations
1个回答
0
投票

没关系,我想我已经解决了。我忘了用我的modelBuilder.HasSequence("some_sequence_id");DbContext方法删除这部分OnModelCreating。现在数据库可以在WPFXamarin.Forms上运行,剩下要做的就是DbContext的决定机制,因此它将根据平台使用正确的提供程序。我希望这对某人有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.