2011-04-19 191 views
0

我有一個名爲TimeSheet的類和一個名爲Contract的類。數據庫表「TimeSheet」包含一個外鍵「ContractOID」,而契約類包含TimeSheet的一個實例作爲聚合。NHibernate映射外鍵

現在我想讓NHibernate在我的表「TimeSheet」中插入Contract的OID作爲外鍵。

如果合同包含時間表列表,我將通過一對多關聯來實現,但在特殊情況下如何處理這個問題?

+0

難道你不希望合同有一個一對多的時間表? I.E.你會不會在單個合同中提交多個時間表?正如我在過去幾年一直在潛心對象建模一樣,我學會了對純粹的1-1映射(除了類層次映射)的警惕。我也瞭解到,多對多並不存在。該交界表比人們意識到的更重要。 – 2011-06-24 05:49:09

回答

0
+0

我已經嘗試了一對一的映射,但在我的情況下它並沒有工作。 我以爲會有另一種方式。我試圖避免這一步,但現在我把TimeSheet的聚合放入一個列表中。 這是一個骯髒的解決方案,但它的工作原理。 – Cr3at0rX 2011-04-19 12:38:44

+0

什麼都不起作用? – mathieu 2011-04-19 12:45:58

+0

外鍵不會被更新或插入 – Cr3at0rX 2011-04-21 11:05:50

0

聽起來像是一個一對一的映射在我身上?它是否正確?

在這裏看到:NHibernate Mapping - one-to-one

+0

我已經嘗試了一對一的映射,但在我的情況下它並沒有工作。 我以爲會有另一種方式。我試圖避免這一步,但現在我把TimeSheet的聚合放入一個列表中。 這是一個骯髒的解決方案,但它的工作原理。 – Cr3at0rX 2011-04-19 12:37:50