символ цитирования nhibernate заменяется на \ " - PullRequest
2 голосов
/ 03 марта 2011

Привет, я делаю фильтр с 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 заменить "на \"? Спасибо за все

1 Ответ

2 голосов
/ 03 марта 2011

У меня работает нормально (только что попробовал ваш точный код)

Какую версию 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)]
...