Как конвертировать .NET DateTimeOffset в Sql2008 DateTimeOffset - PullRequest
6 голосов
/ 25 декабря 2008

Я не уверен, как правильно отформатировать переменную .NET DateTimeOffset в виде строки, чтобы SqlServer 2008 исправил анализ значения.

В настоящее время, если я предоставлю значение .ToString() по умолчанию из обычного значения DateTimeOffset, произойдет ошибка.

Вот пример .ToString() значения, которое ошибается (например, Sql2008 не нравится): '25/12/2008 2:12:21 PM +00:00'

Обновление

Просто чтобы уточнить, я знаю, что .ToString() не в совместимом формате Sql2008. Я надеюсь, что кто-то может сказать мне, что мне нужно предоставить аргументу IFormattableProvider (для метода .ToString()), который является допустимым для нового DateTimeOffset SqlDataType.

Ответ

Я сам ответил. Я разобрался с правильными аргументами IFormattableProvider

myDateTimeOffest.ToString("yyyy-MM-dd HH:mm:ss.ffffff zzz")

Ответы [ 2 ]

0 голосов
/ 25 декабря 2008

Согласно BOL типы совместимы.

Какую ошибку вы получаете? Вы указываете версию системы типов на 2008 в строке подключения?

0 голосов
/ 25 декабря 2008

DateToOffset.ToString поддерживает передачу строки формата для управления выводом. Попробуйте передать строку формата, совместимую с SQL 2008

...