Nhibernate: используя выражение - PullRequest
0 голосов
/ 17 мая 2010

Используя nHibernate, я хотел бы запросить целочисленный тип данных, но он всегда возвращает точное совпадение.

Как я могу написать выражение, которое возвращает список, начиная с введенного числа?

сейчас я использую это как: (clientNum это длинный)

crit.Add(Expression.Like("ClientNumber", clientNum)); //this always gives me exact matches only

поэтому я попробовал следующее, но он жаловался на тип wroing (он только ожидает строку)

crit.Add(Expression.Like("ClientNumber", clientNum, MatchMode.Start));

Обновление: также я попытался clientNum.ToString (), но я получил исключение БД, говорящее о недопустимом типе.

Я могу использовать sql следующим образом, чтобы получить то, что я хочу, но как мне это сделать в nHibernate ??

SELECT * FROM ClientTable
WHERE clientNum LIKE '3%' --incase I wanted a list that starts with 3...

1 Ответ

1 голос
/ 17 мая 2010

Я не уверен насчет версии .NET, но Hybernate поддерживает ограниченное приведение (например, приведение (... как ...) ) в HQL. Я думаю, вам нужно привести значение к строке, а затем применить предложение ' Like '. Должно быть в состоянии сделать все это на HQL. Кроме того, вы можете сделать это с помощью выражений SQL (например, Expression.Sql (...) ) и сделать то же самое с помощью T-SQL.

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