如何基于修改后的DataContext更新BindingSource

时间:2009-06-26 12:31:24

标签: c# linq-to-sql datacontext bindingsource

在我的应用程序中,我将Linq To SQL DataContext的数据提取到字典中,以便于使用,如下所示:

Jobs = dbc.Jobs.ToDictionary(j => j.Id, j => j);

然后我将这个字典绑定到BindingSource:

bsJob.DataSource = jobManager.Jobs.Values.ToList();

我定期刷新DataContext和Dictionary,以便在将新作业添加到数据库时(无论是直接通过本地应用程序还是在不同计算机上运行的应用程序):

dbc.Refresh(RefreshMode.OverwriteCurrentValues, dbc.Job);
Jobs = dbc.Job.ToDictionary(j => j.Id, j => j);

如何更新BindingSource以适应更改?

1 个答案:

答案 0 :(得分:1)

我没有看到从Jobs类到Customer类的关系,所以我假设你打算键入它而不是jobManager.Customers.Values.ToList();

假设您已经有某种事件触发刷新,因为您提到“定期”更新,您可以在此时为BindingSource.DataSource属性分配一个新值,就像您最初一样。

dbc.Refresh(RefreshMode.OverwriteCurrentValues, dbc.Customer);
Customers = dbc.Customer.ToDictionary(c => c.Id, c => c);
bsJob.DataSource = jobManager.Jobs.Values.ToList();  //Assuming this statement was correct