1

オフラインで機能できるように、.NETアプリでデータベースのローカルコピーを作成する必要があります。私のサーバーデータベースはSQLServer2005であり、SQL Server2008Expressにコピーしています。

特別なものである必要はありません。最初から始めて(または既存のデータベースを削除して)、すべてのテーブル/制約/外部キーをコピーし、一部のテーブルからデータをコピーするだけです。データベースに「スキーマバージョン」を保持して、アプリが既存のスキーマが古くなったことを認識できるようにしてもかまいません。

私はMicrosoftSyncFrameworkを調べていましたが、データベース内のテーブルごとにSyncTableを作成する必要があるようです。率直に言って、これは手間とメンテナンスが多すぎるようです。これは私が例で見つけたコードです:

SyncTable orderDetailSyncTable = new SyncTable("OrderDetail");
orderDetailSyncTable.CreationOption = TableCreationOption.DropExistingOrCreateNewTable;
orderDetailSyncTable.SyncDirection = SyncDirection.Snapshot;
orderDetailSyncTable.SyncGroup = orderSyncGroup;
this.Configuration.SyncTables.Add(orderDetailSyncTable);

データベース内のすべてのテーブルを一覧表示して列挙できると思いますが、もっと良い方法があるはずです。Sync Frameworkに何かが足りないのでしょうか、それともこの種のことを実現する何か他のものがありますか?

4

1 に答える 1

1

SyncFrameworkをあきらめました。代わりに、SQLServer管理オブジェクトを使用してこれを実行します。

http://msdn.microsoft.com/en-us/library/ms162169.aspx

于 2010-03-02T22:39:55.693 に答える