Это мой первый пост в stackoverflow, так что терпите меня. :)
Я разрабатываю приложение winforms, которое будет работать в автономном режиме, чтобы оно могло получить доступ к данным, если не удается установить подключение к Интернету (или, точнее, подключение к моей службе WCF). Я решил использовать выпуск SQL Server Compact на клиентской стороне приложения, и мне было интересно, каково общее мнение о «наилучшей» практике для того, чтобы клиентское приложение (Sql Server Compact) подписывалось на основную базу данных (MSSQL 2008).
Подход, который я планировал использовать, работает примерно так:
- Управление вводит информацию в разработанную мной веб-панель администрирования и хранится в базе данных MSSQL 2008.
- После добавления / изменения информации, они могут нажать кнопку выпуска «datapack», которая увеличит номер версии «datapack», который позже будет использоваться клиентским приложением, чтобы определить, синхронизированы они или нет.
- Когда клиентское приложение запускается, оно подключается к Интернету и определяет, синхронизируются ли номера версий. Если нет, то он извлекает информацию с сервера.
На этом третьем шаге я немного растерялся. Я подумал о простой разработке веб-службы, которая предоставит набор данных, содержащий все данные, и будет просто перебирать его, выполняя вставки, но мне это кажется ужасно неэффективным. База данных full , вероятно, не будет занимать намного больше, чем 5 МБ, поэтому я подумал, что было бы здорово, если бы руководство щелкнуло кнопку выпуска пакета данных, она бы сохранила базу данных в файле, который может быть просто загружен и заменит встроенную базу данных. Опять же, я немного заблудился на , как это сработало бы.
Я впервые работаю со встроенной базой данных, большая часть моей работы была веб-приложениями, которые имеют доступ к данным в режиме реального времени.
Думаете, кто-нибудь может пролить свет на проблему?