Класс DbSyncAdapter

Представляет набор команд, которые используются для получения и применения изменений данных и метаданных в локальной одноранговой базе данных.

Пространство имен: Microsoft.Synchronization.Data
Сборка: Microsoft.Synchronization.Data (в microsoft.synchronization.data.dll)

Синтаксис

'Декларация
<SuppressMessageAttribute("Microsoft.Naming", "CA1706:ShortAcronymsShouldBeUppercase")> _
Public Class DbSyncAdapter
'Применение
Dim instance As DbSyncAdapter
[SuppressMessageAttribute("Microsoft.Naming", "CA1706:ShortAcronymsShouldBeUppercase")] 
public class DbSyncAdapter
[SuppressMessageAttribute(L"Microsoft.Naming", L"CA1706:ShortAcronymsShouldBeUppercase")] 
public ref class DbSyncAdapter
/** @attribute SuppressMessageAttribute("Microsoft.Naming", "CA1706:ShortAcronymsShouldBeUppercase") */ 
public class DbSyncAdapter
SuppressMessageAttribute("Microsoft.Naming", "CA1706:ShortAcronymsShouldBeUppercase") 
public class DbSyncAdapter

Замечания

Адаптер обработки данных DbSyncAdapter обеспечивает взаимодействие между поставщиком DbSyncProvider и одноранговой базой данных. Адаптер синхронизации, который является аналогом адаптера обработки данных в ADO.NET, определяется для каждой синхронизируемой таблицы. Адаптер синхронизации передает службе одноранговой синхронизации определенные команды, необходимые для взаимодействия с одноранговой базой данных, например InsertCommand, которая выполняет операции вставки из одной одноранговой базы данных в другую. Поскольку адаптеры синхронизации используют объект ADO.NETDbCommand, может быть использована любая структура команд, совместимая с ADO.NET. Это относится к встроенным инструкциям Transact-SQL, хранимым процедурам, представлениям, функциям и так далее. Командам требуется только один результат, определяющий структуру и данные, которые должны быть переданы и применены.

Пример

В следующих примерах кода создается объект SyncAdapter для таблицы Customer, указывается, что столбец CustomerId должен использоваться для идентификации строк в таблице, и задается команда для свойства SelectIncrementalChangesCommand. Вызываемая хранимая процедура определяется в разделе Инструкции по сценариям установки для поставщика базы данных. Дополнительные сведения о командах адаптера и этот фрагмент кода в контексте полного примера см. в разделе Как подготовить серверную базу данных для синхронизации совместной работы (не SQL Server).

DbSyncAdapter adapterCustomer = new DbSyncAdapter("Customer");


//Specify the primary key, which Sync Framework uses
//to identify each row during synchronization.
adapterCustomer.RowIdColumns.Add("CustomerId");
SqlCommand chgsCustomerCmd = new SqlCommand();
chgsCustomerCmd.CommandType = CommandType.StoredProcedure;
chgsCustomerCmd.CommandText = "Sync.sp_Customer_SelectChanges";
chgsCustomerCmd.Parameters.Add("@" + DbSyncSession.SyncMetadataOnly, SqlDbType.Int);
chgsCustomerCmd.Parameters.Add("@" + DbSyncSession.SyncMinTimestamp, SqlDbType.BigInt);
chgsCustomerCmd.Parameters.Add("@" + DbSyncSession.SyncScopeLocalId, SqlDbType.Int);
chgsCustomerCmd.Parameters.Add("@" + DbSyncSession.SyncInitialize, SqlDbType.Int);

adapterCustomer.SelectIncrementalChangesCommand = chgsCustomerCmd;
Dim adapterCustomer As New DbSyncAdapter("Customer")

'Specify the primary key, which Sync Framework uses
'to identify each row during synchronization.
adapterCustomer.RowIdColumns.Add("CustomerId")
Dim chgsCustomerCmd As New SqlCommand()

With chgsCustomerCmd
    .CommandType = CommandType.StoredProcedure
    .CommandText = "Sync.sp_Customer_SelectChanges"
    .Parameters.Add("@" + DbSyncSession.SyncMetadataOnly, SqlDbType.Int)
    .Parameters.Add("@" + DbSyncSession.SyncMinTimestamp, SqlDbType.BigInt)
    .Parameters.Add("@" + DbSyncSession.SyncScopeLocalId, SqlDbType.Int)
    .Parameters.Add("@" + DbSyncSession.SyncInitialize, SqlDbType.Int)
End With

adapterCustomer.SelectIncrementalChangesCommand = chgsCustomerCmd

Иерархия наследования

System.Object
  Microsoft.Synchronization.Data.DbSyncAdapter

Многопоточное использование

Все общие статические члены (Shared в Visual Basic) можно использовать в многопоточных операциях. Безопасная многопоточная работа с членами экземпляров типа не гарантируется.

См. также

Справочник

Элементы DbSyncAdapter
Пространство имен Microsoft.Synchronization.Data