我正在使用带有实体框架的 BindingSource,当我调用
EntityContext.SaveChange();
下次我将新对象添加到绑定源然后调用 SaveChanges() 时,执行需要更多时间;方法
编辑 2
细节:
在加载表单事件
BindingSource.DataSource = EntityContext.Table;
添加新按钮
BindingSource.AddNew();
Table m_object= (Table)BindingSource.Current;
m_object.ID = Guid.NewGuid();
正在使用绑定到其属性的控件编辑其他对象数据
然后是保存按钮
BindingSource.EndEdit();
Stopwatch sw = new Stopwatch();
sw.Start();
EntityContext.SaveChanges();
sw.Stop();
Console.WriteLine(sw.Elapsed.ToString());
如果我重复添加和保存几次,我会得到以下输出:
00:00:01.0788243
00:00:00.0316786
00:00:00.0292763
00:00:00.0298630
00:00:00.1127312
值得注意的是,第一次添加和保存操作比下一次添加和保存要多花将近一秒钟。