在 IQueriable 数据(初始计数take(n)
)上执行m
linq方法后,方法Count()
仍会返回m
值。
执行ToList()
命令是从 IQueryable 获取实际数量的唯一选择吗?
var data = service.Get();//100 records
var data2 = data.Take(10);
var count = data2.count(); //result 100 - wrong
var count2 = data2.ToList().Count; // result 10 - correct
答案 0 :(得分:4)
你必须在这种情况下使用ToList(),或者找一个替代解决方案,或者自己限制Count()的结果(因为正确的值永远不会大于为Take()指定的值。)
NHibernate中的已知错误: https://nhibernate.jira.com/browse/NH-2477