我有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)
{
}
}
答案 0 :(得分:0)
您可以尝试最小化内存消耗,仅使用您实际需要的数据执行select new {}
。它还将消除变更跟踪开销。这可能会减少它。
根据你的问题,转发器是否真的一次显示所有内容并不是很清楚,否则你可以实现分页