2012-02-14 3 views
0

У меня есть куча запросов для запуска, и если какой-либо из них возвращает хотя бы один результат, я перехожу к логической переменной true. Если все они не возвращают никаких результатов, то он остается ложным.Как использовать Linq-To-Nhibernate (NH3.2), чтобы база данных возвращала мне счетчик записей запроса без самих записей?

Сейчас я просто выбираю наименьшую колонку и выбираю() ее, а затем подсчитываю результаты локально. Но есть ли способ вернуть базу данных единственное целое число, представляющее счетчик записей запроса через linq-to-nhibernate?

Спасибо!

ответ

2

Использование API запросов, было бы

return Session.QueryOver<YourType>().RowCount(); 

или Int64 (bigint)

return Session.QueryOver<YourType>().RowCountInt64(); 

Если вы отправляете несколько запросов, то вы могли бы использовать фьючерсы на партии все запросы вместе.

+0

Так что это еще не реализовано в провайдере Linq? –

+0

Я думаю, что это (невозможно проверить на данный момент и обычно использовать API запросов), 'Session.Query () .Count();' с LINQ to NHibernate –

+0

Я думаю, я мог бы положить .Count в конце и посмотреть, какой запрос NH выбрасывает. –