Classe DbSyncAdapter
Rappresenta un set di comandi utilizzati per recuperare e applicare le modifiche dei dati e dei metadati apportate al database peer locale.
Spazio dei nomi: Microsoft.Synchronization.Data
Assembly: Microsoft.Synchronization.Data (in microsoft.synchronization.data.dll)
Sintassi
'Dichiarazione
<SuppressMessageAttribute("Microsoft.Naming", "CA1706:ShortAcronymsShouldBeUppercase")> _
Public Class DbSyncAdapter
'Utilizzo
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
Osservazioni
DbSyncAdapter funge da ponte tra DbSyncProvider e il database peer. Modellata in base all'adattatore dati di ADO.NET, l'adattatore di sincronizzazione viene definito per ogni tabella sincronizzata e fornisce al provider di sincronizzazione peer i comandi specifici necessari per l'interazione con il database peer, ad esempio InsertCommand che applica gli inserimenti da un database peer all'altro database peer. Poiché gli adattatori di sincronizzazione utilizzano l'oggetto ADO.NETDbCommand, è possibile utilizzare qualsiasi struttura di comandi supportata da ADO.NET, tra cui Transact-SQL inline, stored procedure, viste, funzioni e così via. I comandi richiedono un solo risultato che definisce la struttura e i dati da trasferire e applicare.
Esempio
Nell'esempio di codice seguente viene creato un oggetto SyncAdapter
per la tabella Customer
, viene specificato che la colonna CustomerId
dovrebbe essere utilizzata per identificare ogni riga della tabella e viene specificato il comando per la proprietà SelectIncrementalChangesCommand. La stored procedure chiamata è definita in Impostare script per le procedure relative ai provider di database. Per ulteriori informazioni sui comandi dell'adattatore e per visualizzare il codice nel contesto di un esempio completo, vedere Procedura: eseguire il provisioning di un database server per la sincronizzazione in scenari di collaborazione (non 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
Gerarchia di ereditarietà
System.Object
Microsoft.Synchronization.Data.DbSyncAdapter
Thread Safety
Tutti i membri statici pubblici (Shared in Visual Basic) di questo tipo sono thread safe. I membri di istanza non hanno garanzia di essere thread safe.
Vedere anche
Riferimento
Membri DbSyncAdapter
Spazio dei nomi Microsoft.Synchronization.Data