0

在我的应用程序中,我将 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 以适应更改?

4

1 回答 1

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
于 2009-06-26T12:55:34.780 回答