Как обновить таблицы автономного приложения .Net с помощью SQL Server CE из SQL Server, если он доступен

Я работаю над приложением Windows для торговых представителей, которое они используют в полевых условиях. У них нет подключения к Интернету в полевых условиях, поэтому я пытаюсь создать какое-то решение для обновления, которое они могли бы использовать, находясь в нашем домашнем офисе.

Общая идея заключается в том, что торговый представитель нажимает кнопку обновления, находясь в офисе. Приложение загружает последний список клиентов в таблицу SQL Server CE. Затем торговый представитель посещает своих клиентов и заполняет анкету в приложении. Каждый ответ сохраняется для их клиентов в базе данных SQL Server CE. Когда пользователь повторно посещает домашний офис и нажимает кнопку обновления, записанные данные вставляются в таблицу анкеты, их локальная база данных отмечает успех вставки данных, старый список местных клиентов удаляется, а самый последний список клиентов извлекается из SQL-сервер в свою базу данных SQL CE. Промыть и повторить.

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


person ThaKidd KG5ORD    schedule 08.02.2013    source источник
comment
Любопытно, какой набор шаблонов вы использовали для уровня данных.   -  person Blake Niemyjski    schedule 08.02.2013


Ответы (1)


Я думаю, что лучшим решением для вашего сценария будет MS Synch Framework. См. пошаговое руководство по созданию приложения, использующего структуру синхронизации.

person whastupduck    schedule 08.02.2013
comment
Это выглядит довольно просто. Я предполагаю, что я мог бы также поставить это на таймер, чтобы попытаться автоматически синхронизироваться с сервером SQL? - person ThaKidd KG5ORD; 08.02.2013
comment
Хм, я бы не стал предлагать таймер, планировщик был бы лучшим вариантом, так как вы будете обновлять его только время от времени. - person whastupduck; 08.02.2013
comment
Я бы также посоветовал прочитать conflict resolution о синхронизации. - person whastupduck; 08.02.2013