Linq2SQL在多线程环境中锁定对象?

时间:2012-02-10 14:12:48

标签: linq-to-sql sql-server-2008-express

我有一个Windows服务应用程序,我有一个在很长时间内处理的对象。在处理时间期间,用户可以从GUI与对象交互并在服务上调用WCF服务。 有时,无法重现问题,似乎用户更新了我的主对象上的子对象,导致处理找不到存储库中的对象。这真的会发生吗? 将事件中的调用包装到TransactionsScope中会有帮助吗?

ProcessThread:在对象上工作

WCF-service:更新对象属性中的一些子对象

ProcessThread:找不到对象

任何线索? 我一直在创建一个新的DataContext,所以它不会以任何方式共享

1 个答案:

答案 0 :(得分:0)

似乎是http://technet.microsoft.com/en-us/library/ms190805.aspx

中描述的“行更新导致的丢失和双重读取”的并发问题