您可以通过捕获ChangeConflictException来检测并解决您的并发问题:
using (var db = new MyDataContext()){ var root = (from post in db.Post where post.Id == rootPostId select post).Single(); root.LastActivityUtc = DateTime.UtcNow; try { db.SubmitChanges(); } catch (ChangeConflictException) { db.ChangeConflicts.ResolveAll(RefreshMode.KeepChanges); db.SubmitChanges(); }}使用RefreshMode
.KeepChanges,您将保留客户端对象的所有更改,并且来自其他用户的其他字段的更改将被合并。



