MS Sync 2.1 Sync таблиц с клавишами Foreig - PullRequest
1 голос
/ 21 ноября 2011

возможно ли иметь в области синхронизации 2 таблицы, с которыми связан внешний ключ.

Я получаю странное сообщение в _tracking table: Column 'TransactionLineNo' is constrained to be unique. Value '582da05c-2341-4c57-9795-b532ee0e596f' is already present.

TransactionLineNo является первичным ключом в моей таблице (TransactionLine) и имеет внешний ключ к таблице транзакций, который добавляется в ту же область. Я использую MS Sync 2.1 Angela

1 Ответ

1 голос
/ 23 ноября 2011

Важно, чтобы ваши SyncAdapter были определены и добавлены в коллекцию адаптеров SyncProvider в порядке «дед», «родитель», «потомок» и т. Д., Иначе вы можете получить поведение, подобное тому, что вы видите.Убедитесь, что адаптер Transaction был добавлен в SyncProvider сервера перед TransactionLine.

В прошлом я писал хранимую процедуру SQL с использованием INFORMATION_SCHEMA для запроса и программного определения порядка построения адаптеров, что довольно хорошо сработало.хорошо для нас (MSDN на INFORMATION_SCHEMA доступен здесь, http://msdn.microsoft.com/en-us/library/ms186778.aspx).

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

...