Freigeben über


DbSyncAdapter-Klasse

Stellt eine Gruppe von Befehlen dar, die dazu dienen, Daten- und Metadatenänderungen abzurufen und auf die lokale Peerdatenbank anzuwenden.

Namespace:  Microsoft.Synchronization.Data
Assembly:  Microsoft.Synchronization.Data (in Microsoft.Synchronization.Data.dll)

Syntax

'Declaration
Public Class DbSyncAdapter
'Usage
Dim instance As DbSyncAdapter
public class DbSyncAdapter
public ref class DbSyncAdapter
type DbSyncAdapter =  class end
public class DbSyncAdapter

Hinweise

Der DbSyncAdapter fungiert als Brücke zwischen dem DbSyncProvider und der Peerdatenbank. Der Synchronisierungsadapter, der nach dem Vorbild des Datenadapters in ADO.NET entwickelt wurde, wird für jede zu synchronisierende Tabelle definiert. Er stellt dem Peersynchronisierungsanbieter die spezifischen Befehle bereit, die für die Interaktion mit der Peerdatenbank erforderlich sind. Dazu gehört beispielsweise der InsertCommand, von dem Einfügungen aus einer Peerdatenbank auf eine andere Peerdatenbank angewendet werden. Da die Synchronisierungsadapter das DbCommand-Objekt von ADO.NET verwenden, können Sie jede von ADO.NET unterstützte Befehlsstruktur verwenden. Dies umfasst Inline-Transact-SQL, gespeicherte Prozeduren, Ansichten, Funktionen usw. Die Befehle benötigen lediglich ein einziges Ergebnis, das die Struktur und die zu übertragenden und anzuwendenden Daten definiert.

Beispiele

Die folgenden Codebeispiele erstellen ein SyncAdapter-Objekt für die Customer-Tabelle, legen fest, dass die CustomerId-Spalte zum Identifizieren jeder Zeile in der Tabelle verwendet werden soll, und geben den Befehl für die SelectIncrementalChangesCommand-Eigenschaft an. Die aufgerufene gespeicherte Prozedur wird unter Setupskripts für Datenbankanbieter - Themen zur Vorgehensweise definiert. Weitere Informationen zu diesen Adapterbefehlen und eine Darstellung dieses Codes im Kontext eines vollständigen Beispiels finden Sie unter Vorgehensweise: Bereitstellen einer Serverdatenbank für die Synchronisierung für die Zusammenarbeit (Nicht-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

Vererbungshierarchie

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

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Siehe auch

Verweis

DbSyncAdapter-Member

Microsoft.Synchronization.Data-Namespace