在 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
我正在使用 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