2009-06-12 238 views
1

我已經在數據庫表NHibernate - 映射組件集合?

CREATE TABLE ProductPrice 
    ProductID 
    Qty1 
    Price1 
    Qty2 
    Price2 
    Qty3 
    Price3 

我的領域類看起來像這樣

Class ProductPrice 
    ProductID As Integer 
    PriceBands As IList(of PriceBand) 
End Class 

Class PriceBand 
    Qty As Integer 
    Price As Decimal 
End Class 

我知道我們可以使用「組件」映射到地圖單行成不同的對象,但它可能以下如上所述映射一組對象?

非常感謝

詹姆斯

+0

是否有一個原因,你不希望使用一個真正的集合映射到適當的表?這將是推薦的解決方案。 – 2009-06-12 18:42:24

+0

這是一個遺留表,我害怕,所以我堅持下去。我顯然不會這樣設計它:) – James 2009-06-14 10:15:26

回答

0

如果可以的話,將數據庫標準化爲兩個表格 - 產品和產品價格(每行包含產品ID,數量和價格帶,數量和價格帶,它們有3對列)。那麼你會很容易將它們映射爲NHibernate中的集合(包),以匹配你的應用程序模型類。

0

我認爲字段名的結尾看到1,2,3通常是不好的數據庫設計的跡象,所以我會是那種驚訝,如果NH支持這一點。