nhibernate引号字符替换为“

时间:2011-03-03 11:21:17

标签: c# nhibernate linq-to-nhibernate

嗨我使用linq nhibernate制作过滤器一切正常但是当我尝试使用引号过滤文本时选择不返回...

qr.Where(o => o.Desc.ToLower().Equals("some text")); // working
qr.Where(o => o.Desc.ToLower().Equals("some \"text\""));
// not working because nhibernate bind parameter as  'some \"text\"' but not  'some "text"'

它的一些nhibernate错误?或者存在一些选项巫力nhibernate取代“with”? 谢谢大家

1 个答案:

答案 0 :(得分:2)

它适用于我(只是尝试了您的确切代码)

您使用的是什么版本的NH?

var foos = session.Query<Foo>()
                  .Where(o => o.Desc.ToLower().Equals("some \"text\""))
                  .ToList();

输出:

NHibernate:
    select
        foo0_.id as id0_,
        foo0_.[Desc] as Desc2_0_
    from
        Foo foo0_
    where
        lower(foo0_.[Desc])=@p0;
    @p0 = 'some "text"' [Type: String (4000)]