nhibernate禁用unicode

nhibernate禁用unicode,nhibernate,unicode,unicode-string,Nhibernate,Unicode,Unicode String,在我们公司中,我们使用nhibernate作为默认映射器。我使用nhibernate标准编写查询-我注意到所有参数都以unicode格式发送,如下所示: exec sp_executesql N'SELECT this_.ID as ID23_0_, this_.Nazwa as Nazwa23_0_, this_.Opis as Opis23_0_, this_.TypGrupy as TypGrupy23_0_, this_.CzyDystrybuowana as CzyDystr5_23_

在我们公司中,我们使用nhibernate作为默认映射器。我使用nhibernate标准编写查询-我注意到所有参数都以unicode格式发送,如下所示:

exec sp_executesql N'SELECT this_.ID as ID23_0_, this_.Nazwa as Nazwa23_0_, this_.Opis as Opis23_0_, this_.TypGrupy as TypGrupy23_0_, this_.CzyDystrybuowana as CzyDystr5_23_0_, this_.CzyAktywna as CzyAktywna23_0_ FROM Grupa this_ WHERE this_.Nazwa like @p0',N'@p0 nvarchar(50)',@p0=N'%something%'
这不是期望的行为。可以在nhibernate查询中禁用unicode吗? 谢谢


Romek

我想您必须匹配映射文件才能使用Ansi字符串而不是Unicode,因为默认值可能是whcih

检查数据库和Nhibernate之间的映射表,以及上面5.2.2和5.4之间的部分,注意类型属性,我想您可以在其中显式定义ANSIString


希望这有帮助。

为什么?您是否有意将您的软件限制在英语市场?字段名表明情况并非如此。谢谢,我将映射文件中的类型从System.String更改为AnsiString,现在生成的查询不包含N':-)