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