0
有2個類:產品和圖像。流利NHibernate地圖組合
- 該產品只有一個圖像。
- 不存在孤立圖像。
這表示在UML組合物關係,這意味着:
勘定Product.Image一個newImage結果在以下
- 刪除舊圖像;
- 插入新圖像;
- 將新圖像鏈接到產品。
現在我需要把它映射到RDBMS表(元代碼):
Product (Id primary key, ImageId int references Image(id))
Image(Id primary key, Content)
的問題是如何使用功能NHibernate做到這一點。
請注意:
productMap.References(x => x.Image).Cascade.All()
是不適用 - 它不會刪除孤兒圖像。
此外,NH並不支持多對一,一對一的全刪除孤兒。
我可能需要像加入組件一樣...
但在FLUENT NH。
UPDATE:詹姆斯在FNH用戶羣體提出的語法如下:
WithTable("other table", m =>
{
m.Component(...);
});
但它沒有運氣:NotSupportedException異常:過時
它應該在FNH的V1(upcomming)工作。
呀。我可能需要一個組件,但它應該在一個單獨的表中。 所以我可能需要混合*連接*與*組件*。 看不到我如何使用FNH做到這一點。 – 2009-08-06 10:39:15