Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 如何解决将数据加载到HTML表时出现的内存不足异常错误_C# 4.0_Linq To Sql - Fatal编程技术网

C# 4.0 如何解决将数据加载到HTML表时出现的内存不足异常错误

C# 4.0 如何解决将数据加载到HTML表时出现的内存不足异常错误,c#-4.0,linq-to-sql,C# 4.0,Linq To Sql,我有一个HTML表,我用它来填充表中的数据,数据库表包含50000多行,它抛出一个错误“内存不足异常错误”。如果我使用了where子句并选择了几行,它就可以工作了,这不是它应该工作的方式。请帮忙。谢谢 这是我的密码 protected void PopulatePage() { try { RepeaterBankStatement.DataSource = _dc.SelectBankStatement().ToL

我有一个HTML表,我用它来填充表中的数据,数据库表包含50000多行,它抛出一个错误“内存不足异常错误”。如果我使用了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)
        {

        }

    }

您可以尝试最小化内存消耗,只使用实际需要的数据执行
选择新建{}
。它还将消除更改跟踪开销。这可能会减少它刚刚足够


从您的问题来看,不太清楚中继器是否真的同时显示了所有内容,否则您可以实现分页

尝试删除
.ToList()在第一个代码中。这是不必要的。它给了我相同的错误:引发了类型为“System.OutOfMemoryException”的异常。您没有足够的内存来存储完整的结果集。在where子句中,您的结果较少,因为您正在筛选并仅获取50000。你需要一个更大的ram所以唯一的解决办法就是得到更大的ram?没有其他编码方法或任何方法可以解决问题?我正在使用4G Ramplese请帮助我编辑代码,因为我不知道如何继续