Я разрабатываю приложение Windows C#, которое может работать в режиме Online и Offline.
В режиме онлайн он подключается к SQL Server. В автономном режиме он подключается к локальной базе данных.MS Sync Framework и SQL Server Compact
Я использую Microsoft Sync Framework 2.1 для синхронизации двух баз данных по требованию.
До сих пор я использовал экземпляр LocalDB SQL Server в качестве локальной базы данных. Но больно настраивать систему автоматически во время процесса установки моего приложения. Поэтому мне сложно использовать SQL Server Compact 3.5 или 4.0, который очень легко распространять (входит в один файл).
Но я не могу его даже скомпилировать код инициализации в компактной БД:
DbSyncScopeDescription scopeDesc = new DbSyncScopeDescription("MyScope");
SqlCeConnection clientConn = new SqlCeConnection(OfflineConnectionString);
var clientProvision = new SqlCeSyncScopeProvisioning(clientConn, scopeDesc);
clientProvision.Apply();
, который я использовал раньше (без Ce
классов), но SqlCeSyncScopeProvisioning
не может быть решена.
Здесь что-то ужасно.
Как я могу синхронизировать свой CompactDB, чтобы распространять это как мою локальную базу данных?
Вы пробовали распространять файлы базы данных LocalDB? Вы можете подключиться к определенному файлу LocalDB. Например. 'connectionString =" Источник данных = (LocalDb) \ v12.0; AttachDbFilename = C: \ MyDatabase.mdf; Начальный каталог = MyDatabase; Integrated Security = True "'. Я не распространял свои приложения на клиентских компьютерах, поэтому не знаю, является ли установка * SqlLocalDB * проблемой или нет, но вы можете сделать снимок. – Gabrielius
Установка SqlLocalDB не так проста. Особенно, чтобы заставить его работать, когда мне нужно удалить старый существующий экземпляр и установить новый. Но если подход Compact не подходит, я должен продолжать работать над этим. Благодарю. –
Зачем ставить старый? Это твое? Вы можете добавить новый экземпляр с любым именем, которое вы хотите. Наверное, я сторонник LocalDB, потому что CE очень старый и умрет в конце концов. – Gabrielius