我在插入实体时遇到问题。我不确定那里有什么问题。 当我插入时,我得到一个说明“值超出范围”的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; }
}
在提供完整的行程详细信息时会插入实体,但对于只有一个边详细信息的行程,插入方法会因给定的异常而失败。
任何帮助都将不胜感激。
答案 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
希望这有帮助