NHibernate获取返回错误的行计数

NHibernate获取返回错误的行计数,nhibernate,Nhibernate,我在我的项目中设置了一个API,用于网格调用,以获取审计记录并显示给管理员。网格具有无限滚动设置,并使用mvc4中内置的oData。因此,它将调用api,其中$top等于它应该获得的行数,并设置$skip以获得正确的页面 在API内部,我调用nhibernate获取IQueryable返回,让MVC4实现黑暗奥达魔法: m_session.Query().FetchMany(x=>x.Parameters).Fetch(x=>x.AuditType).Fetch(x=>x.Status) 在这里

我在我的项目中设置了一个API,用于网格调用,以获取审计记录并显示给管理员。网格具有无限滚动设置,并使用mvc4中内置的oData。因此,它将调用api,其中$top等于它应该获得的行数,并设置$skip以获得正确的页面

在API内部,我调用nhibernate获取IQueryable返回,让MVC4实现黑暗奥达魔法:

m_session.Query().FetchMany(x=>x.Parameters).Fetch(x=>x.AuditType).Fetch(x=>x.Status)

在这里,AuditInfo有一个挂起的参数集合,以及类型和状态的查找表


我的问题是,如果我要求30行,它将返回一些数字,基本上你不可能很容易,因为sql就是这样工作的。省去FetchMany,它应该可以使用selectn+1。为了解决这个问题,您可以调整集合批处理大小,以便NH一次加载多个相同类型的集合