【发布时间】:2021-12-21 05:07:46
【问题描述】:
我正在为 Postgres v14 使用 EF Core v5 和 Npgsql EF Core 提供程序 v5。
我希望自动设置 CreatedAt 和 UpdatedAt 计算列。它们都是DateTime 类型。
我试过this:
builder
.Property(x => x.CreatedAt)
.IsRequired()
.HasDefaultValueSql("timestamp with time zone");
builder
.Property(x => x.UpdatedAt)
.IsRequired()
.HasComputedColumnSql("timestamp with time zone", stored: true);
但是在创建表时会抛出 (Npgsql.PostgresException (0x80004005): 42601: syntax error at or near ")")。
如果我删除上面的代码,那么一切正常,因此问题与该代码无关。
我认为 timestamp with time zone 对 UTC timestamps 是正确的,但整体语法显然是错误的。我该如何解决?
【问题讨论】:
-
在 github 上交叉发布并在那里回答:github.com/npgsql/efcore.pg/issues/2079
标签: c# postgresql entity-framework entity-framework-core npgsql