2014-01-24 3 views
1

Я создаю программу для синхронизации таблиц между двумя базами данных.SyncFramework: как синхронизировать все столбцы из таблицы?

Я использую этот общий код:

DbSyncScopeDescription myScope = new DbSyncScopeDescription("myscope"); 
DbSyncTableDescription tblDesc = SqlSyncDescriptionBuilder.GetDescriptionForTable("Table", onPremiseConn); 
myScope.Tables.Add(tblDesc); 

Моя программа создает таблицуотслеживания только первичного ключа (столбец ID). Синхронизация в порядке для удаления и вставки строк. Но обновления нет. Мне нужно обновить все столбцы, и они не обновляются (например: телефонный столбец).

Я читал, что мне нужно добавить столбцы, которые я хочу, чтобы синхронизировать ВРУЧНУЮ с этим кодом:

Collection<string> includeColumns = new Collection<string>(); 
includeColumns.Add("telephone"); 
... 
includeColumns.Add(Last column); 

и изменение таблицы Descripcion таким образом:

DbSyncTableDescription tblDesc = SqlSyncDescriptionBuilder.GetDescriptionForTable("Table", includeColumns, onPremiseConn); 

Есть ли способ автоматически добавить все столбцы таблицы? Что-то вроде:

Collection<string> includeColumns = GetAllColums("Table"); 

Спасибо,

ответ

0

SqlSyncDescriptionBuilder.GetDescriptionForTable ("Таблица", onPremiseConn) будет включать в себя все столбцы таблицы уже.

В таблицах отслеживания хранятся столбцы PK и фильтра, а также некоторые столбцы Sync Fx.

отслеживание на уровне строки, а не на уровне столбца.

во время синхронизации таблица отслеживания и ее базовая таблица объединены, чтобы синхронизировать строку.

+0

Спасибо, июнь .. Тогда почему синхронизация не обновляет все данные строк? – Gabrielizalo

+0

Вы обновляете ПК? как вы обновляетесь? вы проверяете конфликты или ошибки с помощью события ApplyChangeFailed? – JuneT

+0

June Привет, Я сделал простую замену, и я получил журнал VERBOSE: http://www.frutafrescavirtual.com/log.txt – Gabrielizalo

Смежные вопросы