Синхронизация связанных таблиц с помощью MS Sync framework

У меня есть следующие таблицы в моем приложении.

Пользователь (UserID, ......)

Категория (CategoryId, ......)

Категория пользователя (UserId, CategoryId);

Товар (ItemId, CategoryId, ......)

Таблица «UserCategory» используется для управления доступом к элементам. Данный пользователь имеет доступ только к элементам, принадлежащим к категориям, к которым у него есть доступ. Мне нужно синхронизировать эти данные с приложением для iPad (это односторонняя синхронизация, и на iPad данные не изменяются). Я использую фильтр, чтобы убедиться, что в клиентское приложение отправляются только релевантные категории и элементы. Проблема в том, что если позже мы назначим существующую категорию пользователю, элементы, принадлежащие этой категории, не будут синхронизированы.


person Chamindu    schedule 27.06.2012    source источник


Ответы (1)


sync framework не поддерживает перевыравнивание разделов или строки, входящие и выходящие из области действия (или динамическую фильтрацию).

в вашем случае, даже если вы назначаете существующую категорию пользователю, изменение произошло в таблице категорий пользователей, но фактических изменений в таблице категорий нет, поэтому для категории не обнаружено никаких изменений.

попробуйте выполнить фиктивное обновление строки категории, которую вы только что назначили, и это должно пометить ее как измененную. однако это также означает, что другие клиенты будут загружать его, даже если изменений нет.

person JuneT    schedule 28.06.2012
comment
Мы написали отдельную веб-службу для обработки строк, поступающих в область синхронизации через обновленные отношения. Всякий раз, когда новая запись вставляется в таблицу UserCategory через синхронизацию, мы вызываем веб-сервис и получаем соответствующие записи категории и элемента. - person Chamindu; 02.07.2012