我在一些对象上有一个TimeZoneInfo属性,我需要将其保存到Microsoft sql Server 2008数据库.我应该使用什么类型的数据库字段类型?
如果它有帮助,我也使用我的Visual Studio 2010附带的Entity Framework 4.
解决方法
您应该使用TimeZoneInfo的ID – 然后您可以使用
TimeZoneInfo.FindSystemTimeZoneById
再次检索原始区域.
请注意,虽然在某些情况下将日期和时间存储为DateTimeOffset是一种有效的替代方法,但它并不适用于所有情况.例如,假设您希望存储每周下午3点会议的信息.将该单个实例存储为DateTimeOffset将不会告诉您会议何时在下周 – 因为您不知道夏令时是否已更改. (在这种情况下,你可能想要存储当地时间,这是每周一次的会议,以及一周中的某一天.不幸的是,复发规则变得复杂很快.)