我有一個引用很多項目的表格。 在通用視圖中,由於顯而易見的性能原因,我不想加載所有這些引用,但在全局視圖中,我希望加載包含所有引用的同一個表。 我試着把兩個類映射到同一個表上,但是它在加載表時加載了兩個類,所以它沒有幫助。Fuent NHIbernate在同一張桌子上的兩個映射,沒有鑑別器
以前有人做過嗎?
我有一個引用很多項目的表格。 在通用視圖中,由於顯而易見的性能原因,我不想加載所有這些引用,但在全局視圖中,我希望加載包含所有引用的同一個表。 我試着把兩個類映射到同一個表上,但是它在加載表時加載了兩個類,所以它沒有幫助。Fuent NHIbernate在同一張桌子上的兩個映射,沒有鑑別器
以前有人做過嗎?
默認情況下,引用會被延遲加載(即,除非實際使用,否則它們不會被加載)。
我的建議是你創建一個類。
在任何情況下,如果您只想加載一些屬性,可以使用查詢來完成。
聽起來像你使用Nhibernate進行域模型和查詢/報告。
我會反過來 - 使用Nhibernate作爲領域模型(複雜的對象與參考和邏輯在其中)和您最喜歡的數據訪問來顯示數據。你可以使用LINQ,數據集......這將使你靈活地查詢你需要的東西。你甚至可以使用流利的nhibernate自動映射與約定到一些專業視圖。這種方式很多的靈活性...
謝謝你,但它不會是足夠的... 我剛剛找到一個解決方案,有點髒,但它的工作,3類。 1個基類,一個擴展了基類,還有一個用於Hibernate的「假」擴展類。否則,加載基類加載擴展類以及... – gougoul 2010-08-13 11:16:30
這是使用NH的錯誤方式,它會導致其他問題...但這是你的呼叫。 – 2010-08-13 12:03:46