2010-09-16 53 views
3

目前我有一張表「ComponentAnalysis」和一張表「HistoryOfUse」,我試圖在Fluent NHibernate中進行映射。流利Nhibernate,如何處理有很多,真的只有一個?

組件分析應該只有1個使用歷史,並且使用歷史應該屬於1個組件分析。這將建議我應該爲1到1的映射設置表格。但是DB的設計者並沒有這樣設置。

改爲「HistoryOfUse」有一列「ComponentAnalysisID」來指定它屬於哪個組件分析。爲了符合數據庫,我應該有HistoryOfUse引用ComponentAnalysis和ComponentAnalysis應該HasMany HistoryOfUse。

但是,如果我這樣做,那麼我需要有一個HistoryOfUse類型的列表,這似乎很煩人。有沒有辦法在不更改數據庫的情況下進行設置,以允許ComponentAnalysis具有單個HistoryOfUse對象,即使根據數據庫結構,它應該有它們的列表?

回答

2

您可以使用HasOne方法來映射您的類。 Here是關於此的詳細文章。 您的類ComponentAnalysis將「HasOne(x => x.HistoryOfUse)」。列HistoryOfUse.ComponentAnalysisID應該是唯一鍵和引用ComponentAnalysis.ID列的外鍵。

+1

...並指定'property-ref'。類似的問題:http://stackoverflow.com/questions/244812/nhibernate-one-to-one-mapping-where-second-table-data-can-be-null – 2011-04-06 08:22:18

相關問題