В NHibenrate нет специальных настроек для форматов даты и локалей. Вопрос с БД. В моей системе и без каких-либо особых настроек я получаю даты из моих запросов NHibernate как @ p2 = '2009-11-13 12: 48: 22: 000'. Это в гггг-мм-дд, и я не посылаю таким образом даты из своего кода, и я не даю указание NHibernate сделать это явно.
Это происходит в БД и связано с языком по умолчанию экземпляра SQL Server и / или языковой настройкой учетной записи пользователя, которую использует соединение БД NHibenrate. Я полагаю, что это также может быть связано с настройками формата даты операционной системы в сочетании с языком по умолчанию экземпляра SQL Server.
В SQL Server Management Studio можно щелкнуть правой кнопкой мыши экземпляр, чтобы изменить / исправить язык на вкладке «Дополнительные параметры» в диалоговом окне «Свойства». Вам также придется перейти и изменить / исправить язык по умолчанию, который используется для учетной записи пользователя, которую использует NHibernate (получить его из строки подключения). В вашем экземпляре сервера разверните Security-> Logins и щелкните правой кнопкой мыши на правильном имени входа, чтобы открыть диалоговое окно Properties. На вкладке «Общие» есть настройка «Язык по умолчанию», которую вы можете установить.
У меня была эта проблема раньше, и установка языков в SQL Server как «британский английский» решила проблему (я нахожусь в Великобритании). Возможно, ваш случай похож на тот, который я решил таким образом.