GridView + NHibernate很慢

时间:2013-07-14 17:53:05

标签: nhibernate gridview objectdatasource

在我的aspx中我有一个gridView和一个像这样的objectdatasource:

    <asp:GridView ID="_grdAtividades" AllowPaging="True" AllowSorting="True" PageSize="5"
        DataSourceID="_odsAtividades" runat="server">
        <Columns>
            <asp:CommandField ShowSelectButton="True" SelectText="selecionar" />
        </Columns>
    </asp:GridView>
   <asp:ObjectDataSource ID="_odsAtividades" TypeName="Negocio.AtividadeNO" SelectMethod="RetornaAtividades"
    SortParameterName="column" MaximumRowsParameterName="maximumRows"
    StartRowIndexParameterName="startRowIndex" EnablePaging="true" runat="server"></asp:ObjectDataSource>

在我的班级AtividadeNO中我有这样的方法RetornaAtividades:

public static IList<Atividade> RetornaAtividades(string column, int maximumRows, int startRowIndex)
    {
        ISession session = NHibernateHelper.GetSession();
        string hql = "FROM Atividade AS atividade";
        if (!string.IsNullOrEmpty(column))
        {
            hql += " ORDER BY atividade." + column;
        }
        IQuery query = session.CreateQuery(hql);
        query.SetFirstResult(startRowIndex);
        query.SetMaxResults(maximumRows);
        return query.List<Atividade>();
    }

但是,如果有200,000行,我需要超过5秒才能进行分页或订购......

网格视图的工作速度是否正常,或者我怎样才能做得更好?

谢谢

0 个答案:

没有答案