Асинхронное извлечение не работает, если локальная БД была заполнена при первом запуске приложения - PullRequest
0 голосов
/ 04 сентября 2018

При выполнении pull async для данных SQL Azure из приложения Xamarin Forms я замечаю следующее:

Если локальная БД изначально пуста, данные извлекаются из лазури без проблем.

Дальнейшие строки, добавленные в лазури, вытягиваются без проблем.

Ряды, добавленные локально, выдвигаются без проблем.

Однако, если я заполняю локальную базу данных при первом запуске приложения, с некоторыми из тех же данных, что и в лазурном (также идентичные идентификаторы), то синхронизация не работает, точку останова, которую я установил в своем узле. js back end не ударил - код приложения C # попадает в строку, где выполняется асинхронизация по запросу, но не завершается.

Обновление node.js (в базу данных Azure Sql), по-видимому, завершается ошибкой

'Ошибка типа: невозможно прочитать свойство' id 'из неопределенного значения.

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

1 Ответ

0 голосов
/ 04 сентября 2018

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...