tags:

views:

122

answers:

1

I'm using the QueryOver api that is part of NHibernate 3.x. I would like to get a row count, but the method I'm using returns all objects and then gets the count of the collection. Is there a way to just return an integer/long value of the number of rows?

I'm currently using:

_session.QueryOver<MyObject>().Future().Count()
A: 

After a bit of playing around with the api, this will do it:

_session.QueryOver<MyObject>().Select(Projections.RowCount()).FutureValue<int>().Value

If you don't want to return it as a future, you can just get the SingleOrDefault<int>() instead.

Jim Geurts