Свойство DbSyncProvider.SelectOverlappingScopesCommand
Возвращает или задает объект IDbCommand, который содержит запрос или хранимую процедуру, возвращающую имя области и имя таблицы для всех таблиц в указанной области, которые также входят в другие области.
Это свойство несовместимо с CLS.
Пространство имен: Microsoft.Synchronization.Data
Сборка: Microsoft.Synchronization.Data (в microsoft.synchronization.data.dll)
Синтаксис
'Декларация
Public Overridable Property SelectOverlappingScopesCommand As IDbCommand
'Применение
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)
Значение свойства
Объект IDbCommand, содержащий запрос или хранимую процедуру.
Пример
В следующем примере кода указывается команда для свойства SelectOverlappingScopesCommand. Эта команда вместе со следующей, заданной в свойстве UpdateScopeCleanupTimestampCommand, дает возможность платформе Sync Framework правильно выполнять очистку в тех случаях, когда таблица включена более чем в одну область. Чтобы просмотреть этот код в контексте полного примера, см. раздел Как очищать метаданные для синхронизации совместной работы (Non-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
В следующем примере кода создается хранимая процедура, которая вызывается командой перекрывающихся областей.
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
См. также
Справочник
Класс DbSyncProvider
Элементы DbSyncProvider
Пространство имен Microsoft.Synchronization.Data