Как мы можем использовать независимое от регистра значение propertyName в критериях в nHibernate - PullRequest
0 голосов
/ 16 ноября 2010

В простом SQL мы можем писать запросы, в которых имена полей не чувствительны к регистру. Например, мы хотим запросить таблицу Student, и в ней есть одно поле с именем Name. Мы можем написать запрос так (в MS SQL):

select * from Student where name = "John"

Смотрите здесь, мы использовали name вместо Name, но все равно работает правильно.

Но когда я пишу критерии в nHibernate, как это

session.createCriteria("Student")
.Add(Restrictions.Eq("name","John")).List()

Сбой с ошибкой could not resolve property: name of Student.

Есть ли способ сделать имена полей / свойств нечувствительными к регистру в критериях как прямые запросы SQL.

Спасибо

Ответы [ 2 ]

1 голос
/ 16 ноября 2010

Краткий ответ: вы не можете.Имена свойств чувствительны к регистру.

Длинный ответ: вы можете проанализировать вводимые пользователем данные и использовать отражение для поиска правильных имен свойств.

0 голосов
/ 16 ноября 2010

При выполнении запроса критерия вы запрашиваете POCO и их свойства - и, конечно, имена в C # чувствительны к регистру. Насколько я знаю, HQL-запросы также чувствительны к регистру, так что вам, вероятно, не повезло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...