DbSyncAdapter.InsertMetadataCommand Property

Gets or sets the query or stored procedure that is used to insert metadata into the metadata table.

Namespace: Microsoft.Synchronization.Data
Assembly: Microsoft.Synchronization.Data (in microsoft.synchronization.data.dll)

Syntax

'Declaration
Public Property InsertMetadataCommand As IDbCommand
'Usage
Dim instance As DbSyncAdapter
Dim value As IDbCommand

value = instance.InsertMetadataCommand

instance.InsertMetadataCommand = value
public IDbCommand InsertMetadataCommand { get; set; }
public:
property IDbCommand^ InsertMetadataCommand {
    IDbCommand^ get ();
    void set (IDbCommand^ value);
}
/** @property */
public IDbCommand get_InsertMetadataCommand ()

/** @property */
public void set_InsertMetadataCommand (IDbCommand value)
public function get InsertMetadataCommand () : IDbCommand

public function set InsertMetadataCommand (value : IDbCommand)

Property Value

An IDbCommand object that contains a query or stored procedure.

Remarks

Synchronization adapter commands enable you to specify the queries and stored procedures that are used to select from and apply data and metadata changes to a peer database. For more information, see How to: Configure Change Tracking and Synchronize Peers. Each command uses session variables that enable you to pass values during synchronization. These variables are specified like other parameters to queries or stored procedures in ADO.NET commands. For more information, see How to: Use Session Variables for Peer-to-Peer Synchronization.

Example

The following code example creates a command that inserts rows into the Customer_Tracking table at a peer. The command is a stored procedure that is defined in Setup Scripts for Sync Services How-to Topics. To view this code in the context of a complete example, see How to: Configure Change Tracking and Synchronize Peers.

SqlCommand insMetadataCustomerCmd = new SqlCommand();
insMetadataCustomerCmd.CommandType = CommandType.StoredProcedure;
insMetadataCustomerCmd.CommandText = "Sales.sp_Customer_InsertMetadata";
insMetadataCustomerCmd.Parameters.Add("@CustomerId", SqlDbType.UniqueIdentifier);
insMetadataCustomerCmd.Parameters.Add("@" + DbSyncSession.SyncCreatePeerKey, SqlDbType.Int);
insMetadataCustomerCmd.Parameters.Add("@" + DbSyncSession.SyncCreatePeerTimestamp, SqlDbType.BigInt);
insMetadataCustomerCmd.Parameters.Add("@" + DbSyncSession.SyncUpdatePeerKey, SqlDbType.Int);
insMetadataCustomerCmd.Parameters.Add("@" + DbSyncSession.SyncUpdatePeerTimestamp, SqlDbType.BigInt);
insMetadataCustomerCmd.Parameters.Add("@" + DbSyncSession.SyncRowIsTombstone, SqlDbType.Int);
insMetadataCustomerCmd.Parameters.Add("@" + DbSyncSession.SyncRowCount, SqlDbType.Int).Direction = ParameterDirection.Output;

adapterCustomer.InsertMetadataCommand = insMetadataCustomerCmd;
Dim insMetadataCustomerCmd As New SqlCommand()

With insMetadataCustomerCmd
    .CommandType = CommandType.StoredProcedure
    .CommandText = "Sales.sp_Customer_InsertMetadata"
    .Parameters.Add("@CustomerId", SqlDbType.UniqueIdentifier)
    .Parameters.Add("@" + DbSyncSession.SyncCreatePeerKey, SqlDbType.Int)
    .Parameters.Add("@" + DbSyncSession.SyncCreatePeerTimestamp, SqlDbType.BigInt)
    .Parameters.Add("@" + DbSyncSession.SyncUpdatePeerKey, SqlDbType.Int)
    .Parameters.Add("@" + DbSyncSession.SyncUpdatePeerTimestamp, SqlDbType.BigInt)
    .Parameters.Add("@" + DbSyncSession.SyncRowIsTombstone, SqlDbType.Int)
    .Parameters.Add("@" + DbSyncSession.SyncRowCount, SqlDbType.Int).Direction = ParameterDirection.Output
End With

adapterCustomer.InsertMetadataCommand = insMetadataCustomerCmd

See Also

Reference

DbSyncAdapter Class
DbSyncAdapter Members
Microsoft.Synchronization.Data Namespace