假设以下代码:
IEnumerable<MyClass> MakeQuery()
{
var query = from m in session.Linq<MyClass>()
select m;
return query;
}
List<MyClass> m1()
{
return MakeQuery()
.Skip(10)
.Take(20)
.ToList<MyClass>();
}
List<MyClass> m2()
{
var query = from m in session.Linq<MyClass>()
select m;
return query
.Skip(10)
.Take(20)
.ToList<MyClass>();
}
假设所有查询都相同,似乎 inm1()
和不起作用。事实上,它们并不存在。Skip
Take
为什么会发生这种情况以及如何解决?
我正在使用 linq-to-nhibernate,这种方法用于分页。谢谢。