C# 4.0 如何解决将数据加载到HTML表时出现的内存不足异常错误
我有一个HTML表,我用它来填充表中的数据,数据库表包含50000多行,它抛出一个错误“内存不足异常错误”。如果我使用了where子句并选择了几行,它就可以工作了,这不是它应该工作的方式。请帮忙。谢谢 这是我的密码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
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请帮助我编辑代码,因为我不知道如何继续