2016-05-25 118 views
1

我有3個表:帶有PK IdWorkspace和其他列的工作區,具有PK IdLanguage和其他列的語言以及具有多個PK(IdWorkspace FK和IdLanguage FK)和Extracolumn字符串的連接表的WorkspaceFooter。我無法找到在Nhibernate中映射這些內容的方法,這是一種工作方式。有額外的列的NHibernate映射連接表

我該如何寫入.hbm.xml文件?我應該在Workspace中映射什麼?一個集合,WorkspaceFooter等列表?

請注意,由於某些原因,Workspace中指向WorkspaceFooter的關係需要爲inverse =「true」。 Workspace中的更新也必須在WorkspaceFooter中強制更新。

預先感謝您。

回答

0

你必須清楚:

  • 您需要的類模型
  • 無論你真的需要一個雙向的關係(從業務邏輯,而不僅僅是數據庫模型導出)

您可以:

  • 將其作爲獨立實體映射到列表中(這是最具有解決方案的解決方案需要管理代碼),
  • 將其映射爲具有面額和語言的多對一的複合元素。它也在C#中使用了一個特定的類。可能是最直接的解決方案。
  • 地圖作爲地圖(在C#字典),其中面額是關鍵(因爲它是同一個工作區和典型的方式訪問的語言中是唯一的),
  • 也許你可以把它映射爲一個列表並使用過濾器僅訪問特定面額的數據。我沒有使用過濾器的經驗,我不知道你可能會遇到什麼樣的麻煩。
+0

謝謝,我在此期間更改了表格。 – duracell