2016-09-09 75 views
0

使用Code First數據庫創建時,如何指定DateTime屬性以採用postgres timestampz數據類型而不使用默認時間戳? 我將所有日期存儲爲UTC,但是對於DateTime.Kind未指定的linq查詢有問題。我相信時間戳應該可以解決這個問題。EF Code First如何將DateTime指定爲timestampz

下面的代碼示例嘗試使用'Column'屬性,這會導致錯誤(DateTime不兼容)。

我使用v3.1.7 Npgsql的和EntityFramework6.Npgsql v 3.1.1

[Column(TypeName="timestampz")] 
public DateTime CreatedByDate { get; set; } 

[Column(TypeName="NpgsqlDateTime")] 
public DateTime CreatedByDate { get; set; } 

回答

0

可以使用TimeStamp屬性命名空間中的System.ComponentModel.DataAnnotations有.NET在數據庫中創建一個非空的時間戳列你的實體代表的表。

[Timestamp] 
public Byte[] TimeStamp { get; set; } 

代碼優先只允許每個實體一個Timestamp屬性。