Класс DbSyncAdapter

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

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

Синтаксис

'Декларация
Public Class DbSyncAdapter
'Применение
Dim instance As DbSyncAdapter
public class DbSyncAdapter
public ref class DbSyncAdapter
type DbSyncAdapter =  class end
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