2009-04-16 9 views
0

私は&を実装したデータ公開メソカリズムを実装しているアプリケーションで作業しています。これは、アプリケーションの1つのマスターインスタンスが多くのサブスクライバインスタンスにデータを供給できるようにします。これは、サブスクライバのスキーマと全く同じスキーマを持つ一時インポートテーブルのセットにマスタのデータをロードすることによって実装されます。マージプロセスは、これらのインポートテーブルを使用して作業を行います。NHibernate - 同じエンティティを多くのテーブルにマッピングする

この全文はうまくいきます。バッチロードのためにADO.NETを使用してNHibernateの外部で実行され、&のマージのためのストアドプロシージャのセット(カスタムツールによって自動生成されます)。また、マスタ/サブスクライバ間でHTTPリンクを使用してデータをダウンロードすることもできます。マスターSQLサーバーに直接接続することはできません。

私が直面する問題は、実際に新しいデータをマージする前にdiffをユーザーに視覚的に示すことです。このアプリケーションでは、NHibernateにこれらの一時インポートテーブルからビジネスオブジェクトを直接ロードさせたいと思います。 これを行うことはできますか?ほとんど同じマッピングファイルを2セット保有する必要はありませんか?

最後のバージョンでは、これらのインポートテーブルからロードするカスタムコードを使用してビジネスオブジェクトを構築していました。それは単純なプロパティをロードするだけで、リレーションを処理することはありません。これはコーディング/保守の観点から大きな時間を浪費します。

答えて

1

like thisテーブル名を動的に変更する必要があるのですか?

解決方法はFluent NHibernateを参照してください。

もう1つの可能性は、別のデータベースに一時テーブルを置き、接続文字列を変更することです。

関連する問題