質問

次のようなリクエストテーブルがあるとします:

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が構造がどのように見えるべきであるかを見ることができるでしょう。

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