Compartilhar via


Propriedade DbSyncProvider.SelectOverlappingScopesCommand

Obtém ou define um objeto IDbCommand que contém a consulta ou o procedimento armazenado que retorna o nome de escopo e o nome de tabela para todas as tabelas no escopo especificado que também estão incluídas em outros escopos.

Esta propriedade não é compatível com CLS.  

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

Sintaxe

'Declaração
Public Overridable Property SelectOverlappingScopesCommand As IDbCommand
'Uso
Dim instance As DbSyncProvider
Dim value As IDbCommand

value = instance.SelectOverlappingScopesCommand

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

/** @property */
public void set_SelectOverlappingScopesCommand (IDbCommand value)
public function get SelectOverlappingScopesCommand () : IDbCommand

public function set SelectOverlappingScopesCommand (value : IDbCommand)

Valor da propriedade

Um objeto IDbCommand que contém uma consulta ou um procedimento armazenado.

Exemplo

O exemplo de código a seguir especifica um comando para a propriedade SelectOverlappingScopesCommand. Esse comando e o comando especificado para a propriedade UpdateScopeCleanupTimestampCommand habilitam o Sync Framework para tratar da limpeza de forma adequada quando uma tabela é incluída em mais de um escopo. Para exibir esse código no contexto de um exemplo completo, consulte Como limpar metadados para sincronização de colaboração (não SQL Server).

SqlCommand overlappingScopesCmd = new SqlCommand();
overlappingScopesCmd.CommandType = CommandType.StoredProcedure;
overlappingScopesCmd.CommandText = "Sync.sp_SelectSharedScopes";
overlappingScopesCmd.Parameters.Add("@" + DbSyncSession.SyncScopeName, SqlDbType.NVarChar, 100);
sampleDbProvider.SelectOverlappingScopesCommand = overlappingScopesCmd;
Dim overlappingScopesCmd As New SqlCommand()
With overlappingScopesCmd
    .CommandType = CommandType.StoredProcedure
    .CommandText = "Sync.sp_SelectSharedScopes"
    .Parameters.Add("@" + DbSyncSession.SyncScopeName, SqlDbType.NVarChar, 100)
End With

sampleDbProvider.SelectOverlappingScopesCommand = overlappingScopesCmd

O exemplo de código a seguir cria o procedimento armazenado que é chamado pelo comando de escopos sobrepostos.

CREATE PROCEDURE Sync.sp_SelectSharedScopes
      @sync_scope_name nvarchar(100)      
AS
   SELECT ScopeTableMap2.table_name AS sync_table_name, 
          ScopeTableMap2.scope_name AS sync_shared_scope_name
   FROM Sync.ScopeTableMap ScopeTableMap1 JOIN Sync.ScopeTableMap ScopeTableMap2
   ON ScopeTableMap1.table_name = ScopeTableMap2.table_name
   AND ScopeTableMap1.scope_name = @sync_scope_name
   WHERE ScopeTableMap2.scope_name <> @sync_scope_name

Consulte também

Referência

Classe DbSyncProvider
Membros DbSyncProvider
Namespace Microsoft.Synchronization.Data