データベースを同期しています。1 つのメイン データベースと他のクライアント データベースがあります。
テンプレートからフィルター処理されたスコープを作成しました。UserID = 1 と設定し、サーバーとクライアント データベース 1 でこのスコープを作成します。
また
テンプレートとは異なる名前で新しいフィルター処理されたスコープを作成しました。UserID = 2 と設定し、サーバーとクライアント データベース 2 でこのスコープを作成します。
しかし、同期を実行すると、クライアントDB 1とクライアントDB 2の両方のデータベースでUserID = 1と同期しています
これは私のコードです:
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();
}
どんな助けでも大歓迎です。
詳細が必要な場合はお知らせください