这看起来像是Linq到NHybernate的一个错误.一种可能的解决方法是在排序之前转换为数组.一个潜在的大缺点是你不能在枚举之前使用Skip()和Take()来限制结果,所以这对你来说可能还不够.
var results = items .ToArray() .OrderBy(item => item.Agenda.Date) .ThenBy(item => item.OutcomeType) .ThenBy(item => item.OutcomeNumber) .Skip((page - 1)*pageSize) .Take(pageSize)