nhibernateは、外部キーを使用していないときは多くあります
-
05-07-2019 - |
質問
次のようなリクエストテーブルがあるとします:
RequestId INT
ReferenceNumber VARCHAR
各リクエストはrequestlogテーブルに記録されます。テーブル間に外部キーはありません:
RequestLogId INT
ReferenceNumber VARCHAR
Content VARCHAR
requestlogにはリクエストのコンテンツが含まれており、このコンテンツは一定期間保存する必要があります。リクエストは削除できますが、ログは一定期間後にのみ削除できます。
参照番号に基づいてリクエストログのリストを含めることができるようにリクエストオブジェクトをマップするにはどうすればよいですか?
これを試しました:
Table("InsuranceRequest");
Id(i => i.Id).Column("InsuranceRequestId");
Map(i => i.ReferenceNumber);
HasMany(i => i.InsuranceRequestLog).KeyColumn("RefenceNumber").LazyLoad.Cascade.None();
それでも動作しません。このマッピングは、参照番号をrequestlogのRequestLogIdにマップしようとします。参加列が保険リクエストログの参照番号であることを指定する方法はありますか?
解決
テーブル構造の多対多を妨げるものはありません。 構造を変更して外部キーにすることをお勧めします。構造が変更された後にマッピングが機能しない場合、多対多のマッピングがuで機能することを確信しています。
uの別のヒント: 空のデータベースを取得し、スキーマを公開してください。 nhibernateが構造がどのように見えるべきであるかを見ることができるでしょう。
所属していません StackOverflow