我刚刚使用EFCore和NPGSQL(Postgres)将我的Web API升级到.net6。我必须设置一个开关才能让我的代码工作:第一个月现在EFCore创建我的日期时间字段为 '时间戳与时区' 这打破了一切。如何获取日期时间类型的旧 "没有时区的时间戳"?我应该删除旧版时间戳开关吗?谢谢你的帮忙!
t3irkdon1#
我通过在DBContext的OnModelCreating中添加以下代码,强制所有DateTime和DateTime?的列类型为“不带时区的时间戳”,从而修复了该问题。
foreach (var property in builder.Model.GetEntityTypes() .SelectMany(t => t.GetProperties()) .Where ( p => p.ClrType == typeof(DateTime) || p.ClrType == typeof(DateTime?) ) ) { property.SetColumnType("timestamp without time zone"); }
感觉像是一个黑客,但它的工作。
1条答案
按热度按时间t3irkdon1#
我通过在DBContext的OnModelCreating中添加以下代码,强制所有DateTime和DateTime?的列类型为“不带时区的时间戳”,从而修复了该问题。
感觉像是一个黑客,但它的工作。