2011-04-12 14 views
1

我們公司使用nhibernate作爲我們的默認映射器。我寫的使用NHibernate標準查詢 - 我注意到,所有的參數都送爲Unicode是這樣的: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

+0

爲什麼?您是否有意將您的軟件限制在英語市場?字段名稱表明否則。 – MSalters 2011-04-12 07:01:41

回答

0

我猜你有相匹配的映射文件使用ANSI字符串而不是Unicode的whcih可能是默認值。

檢查this數據庫和Nhibernate之間的映射表,以及在Nhibernate - the Basic O/R Mapping之間5.2.2和5.4之間的部分,請注意type屬性,我猜你可以在那裏顯式定義ANSIString。

希望得到這個幫助。

+0

謝謝,我將映射文件中的類型從System.String更改爲AnsiString,現在生成的查詢不包含N':-) – Romek 2011-04-12 10:08:46