Что мне следует сопоставить свойство TimeZoneInfo с типом БД SQL Server 2008? - PullRequest
6 голосов
/ 25 октября 2010

У меня есть свойство TimeZoneInfo для некоторого объекта, которое мне нужно сохранить в базе данных Microsoft SQL Server 2008. Какой тип поля базы данных мне следует использовать, пожалуйста?

Если это поможет, я также использую Entity Framework 4, поставляемую с моей Visual Studio 2010.

1 Ответ

14 голосов
/ 25 октября 2010

Вы должны использовать идентификатор TimeZoneInfo - так как тогда вы можете снова получить исходную зону с помощью TimeZoneInfo.FindSystemTimeZoneById.

Обратите внимание, что при сохранении даты и времени как1007 * является допустимой альтернативой в некоторых ситуациях, этого недостаточно для всех.Например, предположим, что вы хотите хранить информацию о том, что у вас есть встреча в 15:00 каждую неделю.Сохранение одного экземпляра этого файла в виде DateTimeOffset не сообщит вам, когда собрание состоится на следующей неделе - потому что вы не будете знать, изменилось ли летнее время.(В этой ситуации вы, вероятно, захотите сохранить местное время дня, факт, что это еженедельное собрание, и день недели. К сожалению, правила повторения усложняются очень быстро.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...