キーの半分がデータベースのIDフィールドであるFluent nhibernateで複合キーをマップすることは可能ですか?

StackOverflow https://stackoverflow.com/questions/1615647

質問

質問が述べているように、合成で使用される2つのフィールドの1つがIDフィールドである場合、流compositeなnhibernate(または非流iなiの場合)で複合キーをマッピングすることは可能ですか?

主キーの一部がIDフィールドで、もう一方がテナントIDであるテーブルがあります。これは、複合キーが外部キーとして全体的に使用されるレガシーデータベースであるため、データベースの変更は非常に重要です。

ありがとう!

役に立ちましたか?

解決

実際にID列である場合、すべてのレコードで一意であることが保証されていますよね?

その場合、マッピングのためにテナントIDを完全に無視できます。 IDフィールドはプライマリテーブル内で一意です。また、外部キー参照にはこの一意のIDが含まれるため、テナントIDは実際には無関係です。

NHibernateは、データベーススキーマを正確にマッピングしているかどうかはあまり気にしません。非キー列に一意の制約を定義し、それを主キーとして使用するようにNHibernateに指示する前に、レガシーデータベースを使用しました。マッピング。

それについて考えてください。直感に反しますが、おそらく動作します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top