2012-02-06 9 views
1

私はEntity Framework 4でセルフトラッキングエンティティを使用しています。全く同じスキーマを持つ2つのデータベースがあります。しかし、あるデータベースのテーブルは/編集されたものに追加されます(実際のテーブル定義ではなく、データが追加/編集されます)。そして、このデータベースとの間のすべての変更を同期する必要があります。他のデータベース。エンティティフレームワークセルフトラッキングエンティティ - 2つのデータベース間で同期する

私は両方のための別のコンテキストを作成することができます。しかし、あるデータベースから大きなグラフを読み込んだ場合、他のデータベースをグラフでどのように更新できますか?簡単な方法はありますか?

私のデータベースモデルは大きく、複雑で完全なリレーショナルモデルです。したがって、すべての単一のエンティティを通過して、他のデータベースから読み込みを行い、存在するかどうかを確認し、必要に応じて更新/挿入してから、完全なオブジェクトグラフでこれを実行するのは大きな仕事です。

アイデア?

答えて

2

これはEFのユースケースではありません。 EFでは、あなたが説明したことを正確に行う必要があります。自己追跡エンティティは、これらのオブジェクトインスタンスの変更を追跡することができます。時間の経過とともに自分のデータベースに加えられた変更については何も知らず、2番目のデータベースの状態についても何も知りません。

SQLサーバーのネイティブ機能(ミラーリング、トランザクションログの出荷またはSSISを含む)とMS Syncフレームワークを参照してください。あなたの詳細な要件に応じて、これらのツールを使用するとより良いことができます。

+0

残念ながら、私はMySqlまたはSQL Serverを実行しているビジネスに対応する必要があるため、単一のデータベースに限定されていません。しかし、私はそれがEFのユースケースではないかもしれないというあなたの意見を得る。これは通常どのように行われますか?一元的に変更が加えられた本社のデータベースがあります。そして、ある時点では、これらの変更はビジネスのどのデータベースにも伝播する必要があります。 – eyeballpaul

+0

MS Sync Frameworkは、このようなシナリオのためのツールです。 –

+0

複数の種類のデータベースであっても?つまり、SQL ServerとMySqlの両方ですか? – eyeballpaul

関連する問題