在 EF6 中使用时态表 - PostgreSQL

Using temporal tables with EF6 - PostgreSQL

我正在使用 PostgreSQL 作为我的 EF Core 6 项目的关系数据库,我无法弄清楚如何让时间 tables 在之后与 PostgreSQL 一起工作运行 迁移。如果我使用 SQL 服务器,它工作正常,但我想让它在 PostgreSQL.

中工作

我用于 EFCore 的提供商: https://www.npgsql.org/efcore/

我在 EF Core 6 的时间 tables 中遵循本指南 https://devblogs.microsoft.com/dotnet/prime-your-flux-capacitor-sql-server-temporal-tables-in-ef-core-6-0/

已创建所有 table,但不是临时 table/系统版本。

代码:

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) => optionsBuilder.UseNpgsql("Host=my_host;Database=my_db;Username=my_user;Password=my_pw");}

时间 tables 使用模型构建器

 modelBuilder.Entity<Car>().ToTable("Car", c => c.IsTemporal());

有什么我忘了的吗?它看起来也不像是在迁移/模型快照本身

中创建的临时 table

我认为 PostgreSQL 不支持开箱即用的临时表,但可以使用扩展启用该功能,这可能允许您使用 EF Core 创建表。

扩展代码可以在这里找到: https://github.com/arkhipov/temporal_tables