1

複合キーを含む従来のデータベースで立ち往生しており、データベースを変更する余地がありません。

問題は、キーの一部が各外部キーにも使用されていることのようです。したがって、次のようなテーブル A と B がある場合:

  • 会社 (PK)
  • 援助 (PK)
  • someMoreInfo

B

  • 会社(PK、FK)
  • 入札 (PK)
  • 援助 (FK)
  • someOtherInfo

テーブル B の会社フィールドは、テーブル B の PK であり、テーブル A への FK に使用されます。私が試したすべてのことで、Repeated column in mapping例外が発生しました。

したがって、これは「どうすればよいか」という質問ではありません (解決策がある場合は、これが単なる私の想像であり、実際に問題がなければ幸運だと思いますが…)正しい」質問です。

  • nhibernate を使用して、このようなデータベースにアクセスすることは可能でしょうか (すべてのテーブルを参照なしで 1:1 にマッピングすることは別として)
  • いい考えだと思いますか?
  • 私の状況を考えると、代替手段は何ですか (つまり、これが得意な O/R マッパーはいますか)?

ところで:これは同じ問題で、私の複雑なシナリオの 1 つがhereです。

4

1 に答える 1

1

あなたが持っている特定の外部キーの重複主キーの問題を解決する方法はわかりませんが、私が試したORMについて言えば、NHはあなたのレガシースキーマと互換性がある可能性が最も高いです。実際、これは NH の最大の設計目標の 1 つです。したがって、NH は正しいと言えます。他のほとんどの ORM よりも、答えを見つける可能性が高くなります。

于 2010-10-19T22:15:44.487 に答える