Sync Framework 2.1在同一个表上的多个筛选范围

时间:2012-11-08 13:50:10

标签: microsoft-sync-framework

我正在同步数据库。有一个主数据库和其他客户端数据库。

我从模板创建了过滤范围。设置说UserID = 1,然后在服务器和客户端数据库1上创建此范围

再次

我使用模板中的不同名称创建了一个新的过滤范围。设置说UserID = 2,然后在服务器和客户端数据库2上创建此范围

但是当我运行schronization时,它正在与UserID = 1同步数据库客户端DB 1和客户端DB 2

这是我的代码:

 private static void CreateTemplateScope(SqlConnection serverConn, string Template, string ScopeName, string TableName, string Condition, string ColumnName, string Operator, string FilterValue)
    {

        DbSyncScopeDescription scopeDesc = new DbSyncScopeDescription(Template);

        scopeDesc.UserComment = "N/A";

        DbSyncTableDescription customerDescription =
            SqlSyncDescriptionBuilder.GetDescriptionForTable(TableName, serverConn);
        scopeDesc.Tables.Add(customerDescription);

        SqlSyncScopeProvisioning serverTemplate = new SqlSyncScopeProvisioning(serverConn, scopeDesc, SqlSyncScopeProvisioningType.Template);

        serverTemplate.Tables[TableName].AddFilterColumn(ColumnName);

        serverTemplate.Tables[TableName].FilterClause = "[side].[" + ColumnName + "] " + Operator + " " + FilterValue;

        serverTemplate.SetCreateProceduresForAdditionalScopeDefault(DbSyncCreationOption.CreateOrUseExisting);

        serverTemplate.Apply();

        SqlSyncScopeProvisioning serverProvRetail = new SqlSyncScopeProvisioning(serverConn);
        serverProvRetail.PopulateFromTemplate(ScopeName, Template);
        serverProvRetail.Apply();

    }

感谢任何帮助。

如果您想了解更多详情,请与我们联系

0 个答案:

没有答案