приветствуется, что фильтрация работает с последней версией Microsoft Sync Framework. поэтому я использовал фильтр, проходящий от клиента к серверуФильтрация MS Sync Framework
на сервере (sqlServer08 с отслеживанием изменений включен) Я
SqlParameter filterParameter = новый SqlParameter ("@ Institution_ID", SqlDbType.UniqueIdentifier);
string customerFilterClause = "[email protected]_ID";
customerBuilder.FilterClause = customerFilterClause;
customerBuilder.FilterParameters.Add(filterParameter);
и на клиенте У меня есть
SyncTable depsSyncTable = новый SyncTable ("отдел"); depsSyncTable.CreationOption = TableCreationOption.DropExistingOrCreateNewTable; depsSyncTable.SyncDirection = SyncDirection.DownloadOnly;
this.Configuration.SyncTables.Add(depsSyncTable);
this.Configuration.SyncParameters.Add(
new SyncParameter("@Institution_ID", new Guid("248a1343-decb-45a5-906f-2fa4d17f8d76")));
, но фильтрация не работает, как и ожидалось, она заставляет меня все данные не фильтровать по идентификатору учреждения. что я нашел также, что это происходит только в первый раз, когда я синхронизирую, поэтому, когда я вручную добавляю новые строки и снова нажимаю синхронизацию, он отлично работает на клиенте и фильтрует их. Подводя итог, я понимаю, что в первый раз Sync создает некоторый якорь и использует его как базовую точку, поэтому все предыдущие данные загружаются на клиент, но я бы сказал, что это неправильно, поскольку я все еще хочу, чтобы мой фильтр работал правильно.
Вы можете мне помочь? thanks
Такая же проблема здесь. Sync просто не применяет ваш фильтр, если он синхронизирован в первый раз. Кажется, это большая ошибка! Кто-нибудь с этим справился? –
Я обнаружил, что если вы используете шаблон, эта проблема исчезает. – hs3180