0
有了這個Postgres的表如何用Dapper.net從Postgres中讀取DateTimeOffset?
CREATE TABLE "TimeRange"
(
"Id" bigint NOT NULL,
"Start" timestamp with time zone NOT NULL,
"End" timestamp with time zone NOT NULL,
CONSTRAINT "TimeRange_pkey" PRIMARY KEY ("Id")
)
與
INSERT INTO "TimeRange"("Id", "Start", "End")
VALUES (1, '2014-03-03 05:55:00+01', '2014-03-03 05:55:00+01');
有了這個C#POCO加油吧
public class TimeRange
{
public long Id { get; set; }
public DateTimeOffset Start { get; set; }
public DateTimeOffset End { get; set; }
}
選擇數據..
myOpenedNpgsqlConnection.Query<TimeRange>("SELECT * FROM \"TimeRange\"");
..results在DataExce ption:「Error parsing column 1(Start = 03.03.2014 05:55:00 - DateTime)」
我知道錯誤消息中缺少時區信息。在PgAdmin中運行相同的SQL語句返回包含時區信息的結果。
是否有任何(乾淨)的方式來讀取Postgres「時區與時區的時間戳」通過DAPPER到DateTimeOffset?
編輯:
我發現,對矯正的POCO到下面似乎工作。但是,嚴肅地說,沒有更好的方法嗎?
public class TimeRange
{
public long Id { get; set; }
private DateTime Start { get; set; }
private DateTime End { get; set; }
public DateTimeOffset StartOffset { get { return this.Start; } set { this.Start = value.UtcDateTime; } }
public DateTimeOffset EndOffset { get { return this.Start; } set { this.Start = value.UtcDateTime; } }
}