我应该将TimeZoneInfo属性映射到SQL Server 2008数据库类型?

Pur*_*ome 6 .net timezone sql-server-2008

我有一个TimeZoneInfo对象的属性,我需要保存到Microsoft SQL Server 2008数据库.我应该使用什么类型的数据库字段类型?

如果它有帮助,我也使用我的Visual Studio 2010附带的Entity Framework 4.

Jon*_*eet 14

您应该使用 - 的ID,TimeZoneInfo然后您可以再次检索原始区域TimeZoneInfo.FindSystemTimeZoneById.

请注意,虽然DateTimeOffset某些情况下将日期和时间存储为有效的替代方案,但对所有人来说还不够.例如,假设您希望存储每周下午3点会议的信息.将该单个实例存储为DateTimeOffset不会在下周会议时告诉您 - 因为您不知道夏令时是否已更改.(在这种情况下,你可能想要存储当地时间,这是每周一次的会议,以及一周中的某一天.不幸的是,复发规则变得复杂很快.)