将Linq子句添加到Iqueryable对象

时间:2010-12-02 11:06:07

标签: c# linq entity-framework

我有一个从LINQ查询中获取Iqueryable对象的方法 在这个对象上,我想添加一个LINQ子句:.skip(20) 我怎么能用我的方法做到这一点?

先谢谢

3 个答案:

答案 0 :(得分:5)

您无法在现有查询中“添加”子句,因为查询本身是不可变的 - 但您可以创建 new 查询,这是现有的查询但附加条款:

IQueryable<Foo> newQuery = oldQuery.Skip(20);

答案 1 :(得分:1)

var query = FunctionThatReturnsIQueryable().Skip(20);

答案 2 :(得分:1)

只要您没有枚举查询,就可以随时添加子句。这些条款仅在您获得结果后立即执行(例如,使用for each) 您可以执行GetSomeIQueryable().Skip(20)之类的操作。这会返回一个包含skip子句的新查询。