代码之家  ›  专栏  ›  技术社区  ›  Jeroen

使用LINQ的Gridview筛选和排序

  •  1
  • Jeroen  · 技术社区  · 15 年前

    将GridView连接到Linq查询并实现排序、筛选和分页的最佳实践是什么?

    我仍然使用DataSet和ObjectDataSource吗?还是有办法使用另一种类型的数据源,让我直接连接到为我处理筛选、排序和分页的LINQ查询结果?

    编辑:

    UI和DatabaseContext之间存在业务逻辑,因此直接连接到我的ORM不是一种选择。它必须针对LINQ查询结果(IQueryable)。在与ORM交谈之前,我使用单独的Insert/Update/Delete函数来处理业务逻辑。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Nathan    14 年前

    要在ObjectDataSource中执行此操作,请指定将为您执行此工作的类的名称,例如。

    <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" 
                              TypeName="CustomDAL" 
                              SelectMethod="GetData"/>
    

    CustomDAL 类并调用 GetData 方法。

    也支持排序和分页,但最好是自己实现与限制检索的数据相关的实际逻辑。

    EnablePaging="True" 在ODS声明和SelectMethod上添加StartRowIndex和PageSize,使用 Skip Take 提供正确记录的方法,例如。

    var results= (from user in context.users 
              where user.UserId == userId
              select user).Skip(StartRowIndex).Take(PageSize).ToList()