2010-01-28 54 views
2

我想映射兩個類m:n使用NHibernate關聯。 NH會將具有外鍵約束的鏈接表中簡單的m:n關聯映射到實體表。現在,我想要將更多屬性添加到關聯中,如本例所示:NHibernate中的關聯類

image link broken;圖像除去

(我想NHibernate的存儲在鏈接表中的這些屬性)

圖像鏈接打破;圖像已移除

此UML圖顯示瞭如何「解析」編程的關聯類。到目前爲止,我自己做了這個,編碼了3個類Person,BookPersonBookLinkPersonBookLink具有returnDate屬性。 NHibernate對映射沒問題,但我正在尋找一種不太複雜的方式來瀏覽這個模型。

你會如何做NHibernate的映射?

回答

2

有沒有一個不那麼複雜的方法。與額外屬性的多對多關係被映射爲兩個一對多關係。您必須決定哪一方管理關係,並在另一端的映射中設置inverse屬性,以便NHibernate不會嘗試插入鏈接記錄兩次。

我會將此模型設置爲Person,Book和Lending,並讓Person控制關係(Person borrows Book)。

PS - 我也會用這個項目作爲寫一個圖書管理員類的機會,其方法是Shhhh(IEnumerable<Person> patrons)

+0

也被稱爲「物化關係」。 – 2010-01-28 17:11:25