如何將默認值分配給Azure存儲表的表實體中的DateTime屬性。我試圖下面的代碼,但我無法設置值(插入時拋出從Azure表錯誤,因爲DateTime採取1/1/0001)。將默認值分配給Azure存儲表的表實體中的DateTime屬性
[DefaultValue(DateTime.Now]
public DateTime LastUpdate { get; set; }
如何將默認值分配給Azure存儲表的表實體中的DateTime屬性。我試圖下面的代碼,但我無法設置值(插入時拋出從Azure表錯誤,因爲DateTime採取1/1/0001)。將默認值分配給Azure存儲表的表實體中的DateTime屬性
[DefaultValue(DateTime.Now]
public DateTime LastUpdate { get; set; }
正如@Aravind在答案中所述,Azure表支持的DateTime
類型屬性的最小值爲Jan 1, 1600 UTC
。因此,將默認值設置爲DateTime.MinValue
將導致錯誤。
對您而言,一種可能的解決方案是將此屬性nullable
保留在您的模型中。
public DateTime? LastUpdate { get; set; }
因此,當沒有提供值時,默認值爲null。您需要刪除上面註釋中提到的DefaultValue
屬性。
按照MSDN,可以在日期時間屬性去值爲「64位值表示爲協調世界時(UTC),支持的日期時間範圍從午夜12點,1601年1月開始AD(CE),UTC。範圍在9月9日結束。「
所以你不能指定DateTime.MinValue。可以存儲的最低值是新的DateTime(1601,1,1)
即使Datetime不允許null在azure表中,throwing不能爲null錯誤。 – Ram
你能用你正在使用的代碼更新你的問題嗎?我在Azure表中使用了可空的日期/時間字段,它當然是允許的。我的猜測是,你的代碼正在發生其他事情。 –