Partager via


Classe DbSyncAdapter

Représente un jeu de commandes qui sont utilisées pour récupérer et appliquer des modifications de données et de métadonnées au niveau de la base de données d'homologues locale.

Espace de noms :  Microsoft.Synchronization.Data
Assembly :  Microsoft.Synchronization.Data (dans Microsoft.Synchronization.Data.dll)

Syntaxe

'Déclaration
Public Class DbSyncAdapter
'Utilisation
Dim instance As DbSyncAdapter
public class DbSyncAdapter
public ref class DbSyncAdapter
type DbSyncAdapter =  class end
public class DbSyncAdapter

Notes

DbSyncAdapter joue le rôle de pont entre DbSyncProvider et la base de données d'homologues. L'adaptateur de synchronisation repose sur l'adaptateur de données d'ADO.NET et est défini pour chaque table qui est synchronisée. Il transmet au fournisseur de synchronisation d'homologues les commandes spécifiques qui sont requises pour l'interaction avec la base de données d'homologues, telles que la propriété InsertCommand qui applique les insertions de la base de données d'un homologue à la base de données de l'autre homologue. Étant donné que les adaptateurs de synchronisation utilisent l'objet ADO.NETDbCommand, vous pouvez utiliser n'importe quelle structure de commande prise en charge par ADO.NET. Il peut s'agir, par exemple, de Transact-SQL Inline, de procédures stockées, de vues et de fonctions. Les commandes nécessitent uniquement un seul résultat qui définit la structure et les données à transférer et à appliquer.

Exemples

Les exemples de code suivants créent un objet SyncAdapter pour la table Customer, indiquent que la colonne CustomerId doit être utilisée pour identifier chaque ligne dans la table et spécifient la commande pour la propriété SelectIncrementalChangesCommand. La procédure stockée qui est appelée est définie dans Scripts d'installation pour les rubriques de procédures sur le fournisseur de bases de données. Pour plus d'informations sur les commandes d'adaptateur et pour afficher ce code dans le contexte d'un exemple complet, consultez Procédure : approvisionner une base de données serveur pour la synchronisation collaborative (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

Hiérarchie d'héritage

System. . :: . .Object
  Microsoft.Synchronization.Data..::..DbSyncAdapter

Sécurité des threads

Tous les membres publics static (Shared dans Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Membres DbSyncAdapter

Espace de noms Microsoft.Synchronization.Data