ПОСЛЕДНЕЕ РЕДАКТИРОВАНИЕ: Это был я :( Это был необнуляемый столбец, оставленный незаполненным. Извините всех, кого я запутал ..
У меня проблемы с оператором INSERT, сгенерированным NHibernate, поскольку он форматирует десятичные числа с использованием региональных настроек. Сгенерированный оператор выглядит примерно так:
exec sp_executesql N'INSERT INTO [TableName] (
Column1,
Column2,
Column3,
Column4,
Column5,
Column6,
Column7,
Column8,
Column9,
Column10)
VALUES (@p0,
@p1,
@p2,
@p3,
@p4,
@p5,
@p6,
@p7,
@p8,
@p9);
select SCOPE_IDENTITY()',
N'@p0 float,@p1 float,@p2 float,@p3 float,@p4 int,@p5 datetime,@p6 nvarchar(69),@p7 int,@p8 int,@p9 int',
@p0=0,
@p1=0,
@p2=589186,74188329, -- <-- here is my problem
@p3=320829,21535209997, -- <-- here is my problem
@p4=6,
@p5='2009-05-10 17:00:00',
@p6=N'Some string value',
@p7=232323,
@p8=2,
@p9=1
Как вы можете видеть, в качестве десятичного разделителя используется запятая, которая запутывает список значений параметров.
Я нигде не нашел способа установить культуру, используемую для форматирования чисел, чтобы оператор генерировался в правильной форме.
Я установил для Thread.CurrentCulture и CurrentUICulture значение en-us прямо перед вызовом метода Save в сеансе ISession, но ничего не произошло.
Что можно сделать? (