实体数据模型.SaveChanges“挂起”用户界面

时间:2010-05-19 20:43:23

标签: c# user-interface ado.net-entity-data-model

我正在使用EDM对象以及dataGridView和bindingSource。在我的绑定源/网格中添加许多(1000个)新元素后,从按钮单击调用context.SaveChanges会导致UI挂起很多秒。我已经读过EDM对象不是线程安全的,所以我认为我不能把这个任务放在后台工作者身上。有没有人有任何提示,以便我可以通知用户工作正在进行中(如选框进度条等)?

2 个答案:

答案 0 :(得分:1)

  

我已经读过EDM对象不是线程安全的,所以我认为我不能把这个任务放在后台工作者身上。

当然可以!不是线程安全意味着同时从多个线程访问实例是不安全的。使用单个后台工作人员来完成这项工作是完全安全的。

答案 1 :(得分:0)

如果您不想提供UI,则需要在后台线程上进行调用或使用异步形式的调用。如果直接从按钮事件处理程序创建context.SaveChanges,它将挂起UI