NHibernateで構成されたマルチデータベースアプリケーションがあります。各データベースのテーブルに対応するエンティティは、それぞれ独自のアセンブリ(必要に応じてデータベースごとのアセンブリ)にあります。私は、あるデータベースのエンティティを別のデータベースのエンティティに関連付ける必要性/希望を持っています。この点までは、私が望むようにすべて動作します(アプリケーションは複数のセッションファクトリなどを処理します)。NHibernateの複数のデータベースからのマッピング関係
私が望む関係は多対1ですが、実際には私のアプリケーションは関係の片側だけを気にしています(関係のない理由による)。関連するエンティティはProjectおよびPMProjectで、プロジェクトにはPMProjectがあります。私はマップすると多対一、私は次のエラーを取得:プロジェクトマッピング自体は読み込み
NHibernate.MappingException: An association from the table PROJECTS refers to an unmapped class: SDMS.PPRM.PMProject
は(ファンキー列名を無視し、それがOracle DBの):で
<many-to-one name="PMProject" class="SDMS.PPRM.PMProject" column="PM_PROJECT_ID" cascade="none" />
を適切なアセンブリを参照していますが、PMProjectのマッピングファイルが見つからないというエラーが表示されます。しかし、そのファイルは存在します(組み込みリソースとして設定されています)。セッションファクトリインスタンス化は確実に機能します。私はどのようにプロジェクトマッピングにどのように/適切なマッピングを探すかを伝える方法を失っています。私は行方不明のものがありますか?これについてもっと良い方法がありますか?
ありがとうございます。
不思議なことに、なぜ複数のデータベースが必要ですか? – yfeldblum
クライアントの要件。彼らは他のアプリケーション/サービスで使用される既存のデータベースを持っています。私たちのアプリケーションには独自のデータベースがあり、一部のビジネスワークフローでは両方の場所からの読み取り/更新が必要です。 – nkirkes