Мне нужно сделать локальную копию базы данных в приложении .NET, чтобы она могла работать в автономном режиме. Моя серверная база данных - SQL Server 2005, и она копируется в SQL Server 2008 Express.
Это не должно быть чем-то необычным - просто начните с нуля (или удалите существующую базу данных), скопируйте все таблицы / ограничения / внешние ключи и скопируйте данные из некоторых таблиц. Я не против сохранить «версию схемы» в моей базе данных, чтобы приложение знало, когда существующая схема устарела.
Я изучал Microsoft Sync Framework, и кажется, что мне нужно создать SyncTable для каждой таблицы в моей базе данных, и, честно говоря, это кажется слишком большой работой и обслуживанием. Это код, который я нахожу в примерах:
SyncTable orderDetailSyncTable = new SyncTable("OrderDetail");
orderDetailSyncTable.CreationOption = TableCreationOption.DropExistingOrCreateNewTable;
orderDetailSyncTable.SyncDirection = SyncDirection.Snapshot;
orderDetailSyncTable.SyncGroup = orderSyncGroup;
this.Configuration.SyncTables.Add(orderDetailSyncTable);
Полагаю, я мог бы перечислить все таблицы в моей базе данных и перечислить их, но кажется, что должен быть лучший способ. Я что-то упускаю в Sync Framework, или есть что-то еще, что могло бы достигнуть такого рода вещей?