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
<SuppressMessageAttribute("Microsoft.Naming", "CA1706:ShortAcronymsShouldBeUppercase")> _
Public Class DbSyncAdapter
'Utilisation
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
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 de 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.
Exemple
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 statiques (Partagés en 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