我在我的项目中使用Entity Framework和MS Sql Server 2008加载100000条记录
此记录在3秒内加载 当我使用下面的代码时
class BLChequePay
{
....
public List<ChequePay> GetAll()
{
var Context = new AccountingEntities();
var Che = Context.ChequePays;
return Che.ToList();
}
}
private void ChequePayForm_Load(object sender, EventArgs e)
{
radGridView1.DataSource = ChequePays.GetAll();
}
但是当我使用BindingSource时,他们会在50秒内加载。 我使用BindingSource控件来连接其他控件,如textbox,datetimepicker,spinbutton和其他
private void ChequePayForm_Load(object sender, EventArgs e)
{
chequePayBindingSource.DataSource = ChequPays.GetAll();
}
如何减少加载时间?
答案 0 :(得分:2)
首先将List<ChequePay>
更改为IEnumerable<ChequePay>
- 并删除ToList(),因为ToList通常会导致所有项目被实现(即获取)。
答案 1 :(得分:1)
richard-harrison我遇到了这个问题我无法解决它我认为主要的问题是BindingSource,因为在3或4秒内加载100000或更多,但是当我使用BindingSource时,记录会在1分钟内加载