我正在使用C#和Entity Framework创建Windows窗体程序。我想从SQL数据库中获取数据并在获取数据后进行一些处理。
一切都很好,但即使数据很少,性能也太差,速度太慢。我的代码如下,我想知道我的代码有什么问题。
我搜索了很多,但没有找到任何帮助。
提前致谢
private readonly BarForooEntities1 _barforoosh = new BarForooEntities1();
public void Getdataforoosh()
{
BindingSource b = new BindingSource();
b.DataSource = (from m in _barforoosh.RadifsSendCenter
where m.Receive == false
select new
{
m.id_rec, m.Radifkolsal,
m.Dates, m.DateErsal,
m.TimeErsal, m.Karkhane,
m.Namekala, m.Vazn,
m.Bandal, m.Dobaskul,
m.OldYear, m.Sal,
m.del, m.edit, m.Daryaft,
m.Shobe, m.Greid, m.TedadBas,
m.Rahgiry, m.Tozih, m.NoeShemsh,
m.Metrazh, m.Keyfiat, m.Address,
m.City, m.Karbar, m.CodeKala,
m.CodeGoruh, m.CodeKG, m.CodeGreid,
m.Tel, m.ShenaseMeli, m.Sefaresh,
m.Tolid, m.Shenase, }).ToList();
dataGridView1.DataSource = b;
for (int i = 0; i < dataGridView1.RowCount; i++)
{
int c = Convert.ToInt32(dataGridView1.Rows[i].Cells[0].Value);
var f = (from a in _barforoosh.RadifsSendCenter
where a.id_rec == c
select a).SingleOrDefault();
f.Receive= true;
_barforoosh.SaveChanges();
}
}
答案 0 :(得分:-1)
将SaveChanges
方法放在for
循环之外:
for (int i = 0; i < dataGridView1.RowCount; i++)
{
}
_barforoosh.SaveChanges();