Класс 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