LINQ Refresh不会导致更改事件

时间:2009-07-15 15:01:04

标签: wpf linq linq-to-sql binding

仅仅是我还是通过刷新LINQ DataContext而产生的更改不会导致更改事件?

我有一个多用户应用程序,它有一个简单的atomar锁定系统来防止冲突。 因此,如果用户在数据库中更改某些内容,我需要在Datacontext上触发Refresh以重新加载相关对象。

刷新此类时,不会调用生成的Designer文件中包含的属性中的断点。也没有抛出任何事件。

我做错了什么或有解决方法吗?

2 个答案:

答案 0 :(得分:1)

更改的事件似乎代表您可以挂钩的LTS数据类的更改。

刷新不是更改,它只是一个新的(设置)SELECT语句,因此没有抛出Changed事件。

答案 1 :(得分:0)

当您针对数据上下文运行Linq查询时,您将自动获取对数据库的最新更改。

如果您需要执行类似数据库更改时自动刷新用户屏幕的操作,则需要执行其他操作。也许是与SQL Server CLR集成相结合的触发器?

以下是创建托管触发器的示例代码的linq:
Writing Managed Triggers using C#