【问题标题】:What should I map a TimeZoneInfo property to a SQL Server 2008 DB Type?我应该如何将 TimeZoneInfo 属性映射到 SQL Server 2008 DB 类型?
【发布时间】:2023-03-05 15:22:01
【问题描述】:

我在某个对象上有一个 TimeZoneInfo 属性,我需要将其保存到 Microsoft SQL Server 2008 数据库中。请问我应该使用什么类型的数据库字段类型?

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

【问题讨论】:

    标签: .net sql-server-2008 timezone


    【解决方案1】:

    您应该使用TimeZoneInfo 的ID - 这样您就可以使用TimeZoneInfo.FindSystemTimeZoneById 再次检索原始区域。

    请注意,虽然在某些 情况下将日期和时间存储为DateTimeOffset 是一种有效的替代方法,但这并不足以满足所有情况。例如,假设您想存储每周下午 3 点开会的信息。将单个实例存储为DateTimeOffset 不会告诉您下周会议的时间 - 因为您不知道夏令时是否已更改。 (在这种情况下,您可能希望存储一天中的当地时间、这是每周一次的会议以及一周中的哪一天。不幸的是,重复规则很快就会变得复杂。)

    【讨论】:

      猜你喜欢
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 2011-04-23
      • 2010-09-29
      • 1970-01-01
      相关资源
      最近更新 更多