Azure表插入问题

时间:2013-02-06 21:17:31

标签: azure

我在插入实体时遇到问题。我不确定那里有什么问题。 当我插入时,我得到一个说明“值超出范围”的StorageClientException。

我的表服务实体看起来像

public class Itinerary : TableServiceEntity
{
     public string Name { get; set; }
     public DateTime DOB { get; set; }
     public int Sex { get; set; }
     public string ToPNR { get; set; }
     public string ReturnPNR { get; set; }
     public string ContactNumber { get; set; } 
     public DateTime TravelDate { get; set; }
     public DateTime ReturnDate { get; set; }
}

在提供完整的行程详细信息时会插入实体,但对于只有一个边详细信息的行程,插入方法会因给定的异常而失败。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:6)

我猜的问题在于你的DateTime字段。如果在将数据存储到表存储之前尚未初始化它们,则将分配给这些字段的值将是.NET DateTime.Min值的值。不幸的是,此值超出了Azure表存储的范围。因此,始终建议为Azure表存储中的DateTime字段提供一些值。如果要为其分配默认值,请使用CloudTableClient.MinSupportedDateTime属性。这将使用Azure存储支持的最小值初始化字段 - http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.storageclient.cloudtableclient.minsupporteddatetime.aspx

希望这有帮助