我正在使用GridView
对ObjectDataSource
进行分页和排序。 ObjectDataSource
从我的业务层中的List获取数据,此List由我的数据层中的IEnumerable<Type>
填充,该层使用实体框架。
分页和排序的内容在数据层完成,如下所示:
var customers = (from c in entities.Customers
select c).OrderBy(sortParameter).Skip(startRowIndex).Take(maximumRows));
正如您所看到的,我正在传递ObjectDataSource
中的参数来决定如何返回任何记录,以及从哪个位置来控制分页和排序。
一切正常。
我的问题是我需要按数据库表中不存在的字段进行排序。它是我的业务层(列表)中添加的计算字段。 (此计算字段是基于我的数据库中的Customer ID
在DLL中查找的客户名称。
我希望在数据库层中保留排序和分页逻辑,但找不到一种巧妙的方法来执行此操作。我应该在业务层中进行分页和排序(这是一个List)。如果是这样,任何人都可以给我一些提示我如何添加类似的分页和排序到我的数据层中当前存在的列表。 (即我只想返回GridView
当前页面所需的数据库中的行。
感谢您的帮助,如果我能更清楚地解释一下,请告诉我!