只有LINQ to Entities中的排序输入才支持'Skip'方法。必须在方法'Skip'之前调用'OrderBy'方法

时间:2012-06-27 08:58:03

标签: exception entity-framework-4 linq-to-entities dynamic-data

我正在处理动态数据。

创建动态模型并在global.asax中注册,如

DefaultModel.RegisterContext(typeof(masterEntities1),new ContextConfiguration() { ScaffoldAllTables = true }); 

当我运行一个应用程序时,它会显示一个表列表但是当我点击任何一个表时它会引发异常:

方法' Skip'仅支持LINQ to Entities中的排序输入。方法' OrderBy'必须在方法之前调用'跳过'

但我没有在我的申请中声明任何查询。

1 个答案:

答案 0 :(得分:13)

如果您使用.OrderBy'方法,则必须在查询中致电.Skip。例如,如果您使用类似于以下内容的内容:

results = results.Skip(pageNumber * size).Take(size);

在上面的情况中,如果您计划使用分页方法或其他类似的东西,您之前必须使用.OrderBy来排序查询。如果您有Id字段,则将其添加到原始查询表达式中应该可以消除错误:

.OrderBy(x => x.Id);