NHibernate数字格式问题-在哪里设置区域性?

NHibernate数字格式问题-在哪里设置区域性?,nhibernate,fluent-nhibernate,formatting,numbers,culture,Nhibernate,Fluent Nhibernate,Formatting,Numbers,Culture,后来编辑:是我:它是一个不可为空的列,未填充。对不起,我弄糊涂了 我对NHibernate生成的INSERT语句有问题,因为它使用区域设置格式化十进制数。生成的语句类似于: exec sp_executesql N'INSERT INTO [TableName] ( Column1, Column2, Column3, Column4, Column5, Column6, Column7, Column8,

后来编辑:是我:它是一个不可为空的列,未填充。对不起,我弄糊涂了

我对NHibernate生成的INSERT语句有问题,因为它使用区域设置格式化十进制数。生成的语句类似于:

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
如您所见,有一个逗号用作十进制分隔符,它会将参数值列表搞砸

我还没有找到一种方法来设置用于格式化数字的区域性,以便以有效形式生成语句

在ISession上的Save方法调用之前,我将Thread.CurrentCulture和CurrentUICulture设置为en-us,但什么也没发生


可以做什么

但此带有格式化数字的列表仅用于显示目的-设置为参数的值设置为浮点数。这不应导致插入以任何方式失败


你只是在预测一个问题,还是你真的遇到了一个错误?如果出现错误,是什么?

此查询已在SQL Server Profiler中被拦截。它是实际发送的查询。是的,但它是一个参数化查询,参数值在哪里被写出,它们就在哪里被格式化。但是在设置它们的地方,它们被设置为本地浮点值。事实上,它没有准确地报告这个问题。我已经将我的区域设置从罗马尼亚语切换到了英语美国语,现在没事了,这里有点而不是逗号,并且声明不再失败。我怎样才能说服NHibernate在其他地区开展工作好的-那么你能发布异常的详细信息吗?