Compartilhar via


Propriedade 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.

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

Sintaxe

'Declaração
Public Overridable Property SelectOverlappingScopesCommand As IDbCommand
    Get
    Set
'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);
}
abstract SelectOverlappingScopesCommand : IDbCommand with get, set
override SelectOverlappingScopesCommand : IDbCommand with get, set
function get SelectOverlappingScopesCommand () : IDbCommand
function set SelectOverlappingScopesCommand (value : IDbCommand)

Valor da propriedade

Tipo: System.Data. . :: . .IDbCommand
Um objeto IDbCommand que contém uma consulta ou um procedimento armazenado.

Exemplos

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

DbSyncProvider Classe

Membros DbSyncProvider

Namespace Microsoft.Synchronization.Data