SqlCeClientSyncProvider.ApplyChanges 方法 (SyncGroupMetadata, DataSet, SyncSession)

命名空间: Microsoft.Synchronization.Data.SqlServerCe
程序集: Microsoft.Synchronization.Data.SqlServerCe(在 microsoft.synchronization.data.sqlserverce.dll 中)

语法

声明
Public Overrides Function ApplyChanges ( _
    groupMetadata As SyncGroupMetadata, _
    dataSet As DataSet, _
    syncSession As SyncSession _
) As SyncContext
用法
Dim instance As SqlCeClientSyncProvider
Dim groupMetadata As SyncGroupMetadata
Dim dataSet As DataSet
Dim syncSession As SyncSession
Dim returnValue As SyncContext

returnValue = instance.ApplyChanges(groupMetadata, dataSet, syncSession)
public override SyncContext ApplyChanges (
    SyncGroupMetadata groupMetadata,
    DataSet dataSet,
    SyncSession syncSession
)
public:
virtual SyncContext^ ApplyChanges (
    SyncGroupMetadata^ groupMetadata, 
    DataSet^ dataSet, 
    SyncSession^ syncSession
) override
public SyncContext ApplyChanges (
    SyncGroupMetadata groupMetadata, 
    DataSet dataSet, 
    SyncSession syncSession
)
public override function ApplyChanges (
    groupMetadata : SyncGroupMetadata, 
    dataSet : DataSet, 
    syncSession : SyncSession
) : SyncContext

参数

  • dataSet
    一个 DataSet 对象,包含要应用于客户端数据库的数据行。
  • syncSession
    包含有关当前同步会话的元数据的 SyncSession 对象。

返回值

包含同步会话的数据变更、定位点值和其他元数据的 SyncContext 对象。

备注

此方法假定表位于客户端数据库中;否则,此方法将引发异常。如果表存在,但未启用跟踪,则会启用双向跟踪。各行将由一个 DataRowState 值来标记,以区分是插入、更新还是删除。

按以下顺序应用变更:先删除,再插入,最后更新。将变更应用于同步组中每个表的顺序取决于将表添加到组中的顺序。应用删除的顺序与添加表的顺序相反。应用插入和更新的顺序与添加表的顺序相同。

例如,如果您先后将表 SalesOrderHeader 和 SalesOrderDetail 添加到同一同步组中,则同步期间将使用以下处理顺序:

  1. 先将删除应用于 SalesOrderDetail,再应用于 SalesOrderHeader。

  2. 插入先应用于 SalesOrderHeader,再应用于 SalesOrderDetail。

  3. 更新先应用于 SalesOrderHeader,再应用于 SalesOrderDetail。

请参阅

参考

SqlCeClientSyncProvider 类
SqlCeClientSyncProvider 成员
Microsoft.Synchronization.Data.SqlServerCe 命名空间