如何将postgreSql中的“timestamp with time zone”数据类型映射到System.Data.DbType
我需要传递参数,因为它将转到具有“带时区的时间戳”
以下是我的代码:
var pOrderDate = cmdOrder.CreateParameter();
pOrderDate.ParameterName = "OrderDate";
pOrderDate.DbType = System.Data.DbType.DateTime;
pOrderDate.Value = objOrder.OrderDate;
cmdOrder.Parameters.Add(pOrderDate);
以下行导致问题:
pOrderDate.DbType = System.Data.DbType.DateTime;
答案 0 :(得分:2)
您是否考虑过在.NET中尝试DateTimeOffset类?
我不知道它如何映射到Postgres“DateTime with Timezone”类型,但它与我认为的MSSQL等价物(也称为DateTimeOffset)具有1:1的相关性。
请注意,此处的命名非常差 - 类型表示DateTime + Offset,而不仅仅是Offset本身。