2010-04-19 48 views
2

試圖使用FNH來映射視圖 - FNH堅持要映射Id屬性。然而,並非我所有的觀點都有獨特的識別專欄。流利的NHibernate查看映射需要Id列

我能解決這個使用XML映射,我可以只是在映射的頂部指定

<id type="int"> 
    <generator class="increment"/> 
</id> 

有什麼方法可以在FNH中複製這個...?

回答

0

當時我問這個問題,Fluent NHibernate不支持。其中一名開發人員將其添加爲功能,目前我們正在對其進行評估。

0

很確定視圖必須是可索引的,但我記得它涉及到設置組合鍵並確保視圖可以是SchemaBound。然後在FNH映射中,你可以指定表名(你可能已經是這個了)和UseCompositeId方法。

+0

當標準NH做我所需要的東西時,看起來有點過分 - 這更多的是如何讓FNH複製標準行爲的問題。不過謝謝。 – Matt 2010-04-20 13:04:00

+0

取決於您要完成的內容,並且對於只讀場景而言,這太過於誇張。另一種選擇是簡單地在XML中映射您的視圖,並跳過這些特定實體的FNH。 – nkirkes 2010-04-20 14:47:48

0
mapping.Id(x => x.ID).GeneratedBy.Increment() 

但可能,我對這個問題的理解是不正確的。

+0

感謝mike,但問題是在x => x.ID中,我的實體類沒有ID屬性。我確實嘗試了一個空的lambda(x => {}),但那也不起作用。儘管乾杯! – Matt 2010-04-26 20:31:42