2012-12-21 134 views
1

從本質上說,我試圖做與NHibernate以下(要把它理解):NHibernate的:映射參考

SELECT p.* 
FROM ChildTable c 
INNER JOIN ParentTable p ON p.Id = c.ParentId AND p.Language = :language 

而且我當然要p.*作爲ChildObject一個ParentObject類型的財產。

ChildTable沒有語言列。所以:語言被視爲程序中的一個常量。

我正在考慮創建一個從c.ParentId轉換到ParentObject並返回(取決於:語言)的UserType的UserType。

這可能嗎?

我已經做了一個簡單的IntToString IUserType的東西。

那麼我會在NullSafeGet方法中正常執行session.Get<ParentClass>(idLangIndexObject)那麼還是會影響IUserType內部的任何內容?

我試圖在ParentClassMapping太(試圖砍下只有一個:語言)做ApplyFilter(),但References()使用內部得到它似乎和獲取忽略ApplyFilter()

任何其他的更優雅的想法?

必須有某種方式,畢竟這不是火箭科學。

回答

0

從孩子到父母(不是多對一),你擁有的是一對多或多對多的關係,因爲每個孩子顯然可以有多個父母。將其映射爲一個集合以正確反映此情況,並且收集負載將考慮過濾器。