2016-11-14 67 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

相关问题