将数据加载到HTML表时如何解决内存不足异常错误

时间:2015-12-01 13:34:17

标签: c#-4.0 linq-to-sql

我有HTML表格,我用来填充表格中的数据,数据库表包含更多的50000行,它会引发错误" Out of Memory异常错误"。如果我已经使用了where子句并选择了几行,那么它的工作原理并非如此。请帮忙。谢谢!

这是我的代码。

    protected void PopulatePage()
    {
        try
        {
                RepeaterBankStatement.DataSource = _dc.SelectBankStatement().ToList();
                RepeaterBankStatement.DataBind(); // Out of Memory exception

        }
        catch(Exception EX)
        {

        }
    }

如果我使用where子句但是我不想使用where子句,则此代码可以正常工作。我希望它填充所有记录。

    protected void PopulatePage()
    {
        try
        {
                RepeaterBankStatement.DataSource = _dc.SelectBankStatement().Where(m => m.Description3 == "12345678524").ToList().Take(50000);
                RepeaterBankStatement.DataBind();

        }
        catch(Exception EX)
        {

        }

    }

1 个答案:

答案 0 :(得分:0)

您可以尝试最小化内存消耗,仅使用您实际需要的数据执行select new {}。它还将消除变更跟踪开销。这可能会减少它。

根据你的问题,转发器是否真的一次显示所有内容并不是很清楚,否则你可以实现分页