Чтобы эффективно поддерживать синхронизацию коллекции приложений с базой данных, не загружая каждый раз одни и те же многочисленные записи, я могу использовать поля базы данных datetime
"LastModified" с триггером таблицы. Триггер таблицы обновляет поля «LastModified» при операциях обновления или вставки базы данных, а затем я могу предоставить запрос базы данных с последним использованным значением временной метки для загрузки только тех записей, которые имеют значения метки времени позже, чем предоставленный параметр.
Вышеупомянутый метод помогает сохранить небольшой объем обмена данными, но есть проблема: записи, удаленные в базе данных, остаются в коллекции приложения.
Как проверить, какие записи удаляются в базе данных для соответствующего обновления коллекции приложения, чтобы данные о трафике были как можно меньше?
1 ответ
Вам нужен триггер таблицы, который будет вызываться при удалении. Когда этот триггер вызывается, он записывает в другую таблицу отслеживания индекс и временную метку удаления. При следующей синхронизации вам просто нужно получить все индексы для удаления с даты последнего изменения из этой таблицы.
Возможно, вам стоит взглянуть на Microsoft Sync Framework. Он создаст все необходимые таблицы и триггеры в базе данных, чтобы отслеживать изменения, внесенные с момента последней синхронизации. Просто следуйте этому примеру, а затем загляните в свою базу данных. Вы должны легко увидеть все добавленные таблицы и триггеры, которые они используют для отслеживания всех изменений.
Похожие вопросы
Новые вопросы
c#
C # (произносится как «резкий») - это высокоуровневый, статически типизированный язык программирования с несколькими парадигмами, разработанный Microsoft. Код C # обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, включая, среди прочего, .NET Framework, .NET Core и Xamarin. Используйте этот тег для вопросов о коде, написанном на C # или в формальной спецификации C #.