RefreshMode 枚举

指定时发现列表项已被另一个进程因为它已检索更改列表项更改系统的 LINQ to SharePoint 提供程序将如何响应。

命名空间:  Microsoft.SharePoint.Linq
程序集:  Microsoft.SharePoint.Linq(位于 Microsoft.SharePoint.Linq.dll 中)

语法

声明
Public Enumeration RefreshMode
用法
Dim instance As RefreshMode
public enum RefreshMode

成员

成员名称 说明
KeepChanges 与数据库值合并 (即,接受每个用户更改与当前用户的损害)。这意味着:
时应用于MemberChangeConflict对象: 保留当前的客户端值,如果它已更改以来最初检索 ;否则使其与当前数据库值匹配。
时应用于ObjectChangeConflict对象: 保留原始检索、 以来已更改的当前版本的字段的新值,即使它们与数据库 ; 中的最新版本发生冲突但应更改所有其他字段,根据需要以匹配在数据库中的最新版本。
KeepCurrentValues 覆盖数据库值 (即,覆盖其他用户的所有更改)。这意味着:
时应用于MemberChangeConflict对象: 保留当前的客户端值。(因此,如果已更改以来最初检索保留的新值 ; 否则保持其在原始值处。)
时应用于ObjectChangeConflict对象: 保留原始检索、 以来已更改的当前版本的字段的新值,即使它们与数据库 ; 中的最新版本发生冲突但是,所有其他字段应保持不变时最初检索,即使这些值不再与数据库中的最新版本匹配。
OverwriteCurrentValues 保留数据库值 (即,授予绝对损害数据库版本)。这意味着:
时应用于MemberChangeConflict对象: 与当前数据库值匹配。
时应用于ObjectChangeConflict对象: 使数据库中的最新版本匹配的所有值。

备注

此枚举值作为参数传递给ObjectChangeConflict.Resolve(RefreshMode)MemberChangeConflict.Resolve(RefreshMode)方法。这些方法通常称为捕获ChangeConflictExceptioncatch块中。如果发现正在更改的列表项由于其最初的 LINQ 查询返回已更改, SubmitChanges()方法将引发异常。

枚举的通知的ObjectChangeConflict.Resolve(RefreshMode)MemberChangeConflict.Resolve(RefreshMode)方法如何响应的列表项的三个版本之间的差异:

  • 最初在内容数据库中检索到的版本。

  • 现在,在数据库版本。

  • (有时为称为客户端版本中,尽管"客户端"此处是指的前端 Web 服务器) 的当前过程中的版本的已提交到SubmitChanges()

备注

用于取消所有更改,即使这些当前用户 ; 没有选项但是,可以通过调用Resolve(Object)并将其作为参数传递OriginalValue来实现此目的。若要将此规则应用于ObjectChangeConflict,循环访问每个成员调用Resolve(Object)MemberConflicts属性。

下表列出将要的 LINQ to SQL 提供程序的System.Data.Linq.RefreshMode枚举的主题。但是,它们描述的逻辑适用于 LINQ to SharePoint Microsoft.SharePoint.Linq.RefreshMode枚举同样适用。

如何: 通过与数据库值 (LINQ to SQL) 合并解决并发冲突

如何: 通过保留数据库值 (LINQ to SQL) 解决并发冲突

如何: 通过覆盖数据库值 (LINQ to SQL) 解决并发冲突

另请参阅

引用

Microsoft.SharePoint.Linq 命名空间