2016-11-14 72 views

回答

1

正如@Aravind在答案中所述,Azure表支持的DateTime類型屬性的最小值爲Jan 1, 1600 UTC。因此,將默認值設置爲DateTime.MinValue將導致錯誤。

對您而言,一種可能的解決方案是將此屬性nullable保留在您的模型中。

public DateTime? LastUpdate { get; set; } 

因此,當沒有提供值時,默認值爲null。您需要刪除上面註釋中提到的DefaultValue屬性。

+0

即使Datetime不允許null在azure表中,throwing不能爲null錯誤。 – Ram

+0

你能用你正在使用的代碼更新你的問題嗎?我在Azure表中使用了可空的日期/時間字段,它當然是允許的。我的猜測是,你的代碼正在發生其他事情。 –

1

按照MSDN,可以在日期時間屬性去值爲「64位值表示爲協調世界時(UTC),支持的日期時間範圍從午夜12點,1601年1月開始AD(CE),UTC。範圍在9月9日結束。「

所以你不能指定DateTime.MinValue。可以存儲的最低值是新的DateTime(1601,1,1)

+0

是的,我明白,最小值是1601/1/1,但我的問題是我將如何從我的屬性在實體模型中指定爲默認值。 – Ram

+0

這只是表格服務的另一列。因此,您更新其他列的方式也可以在此列中完成。 – Aravind

+0

我正在更新該列,但如果datetime的值爲空,則默認c#對象將轉換爲1/1/0001(因爲這是c#中datetime的默認值),所以在更新/插入實體時出現錯誤天藍色的桌子。所以我想爲模型中的Datetime屬性設置默認值。 – Ram

相關問題