有两个类:产品和图像。
这表示UML中的 组合 关系,这意味着:
分配Product.Image一个newImage结果如下
现在我需要将它映射到RDBMS表(元代码):
Product (Id primary key, ImageId int references Image(id))
Image(Id primary key, Content)
问题是如何使用Fluent NHibernate来做到这一点 请注意:
productMap.References(x => x.Image).Cascade.All()
不适用 - 它不会删除孤儿图像。
NH也不支持多对一,一对一的全删除孤儿。
我可能需要像组件一样加入...... 但是在新罕布什尔州。
更新:FNH用户组中的James建议使用以下语法:
WithTable("other table", m =>
{
m.Component(...);
});
但没有运气:NotSupportedException:已过时
它应该在FNH的v1(upcomming)中起作用。
答案 0 :(得分:1)
您可以像组件一样进行映射吗?
使用Fluent进行映射:http://wiki.fluentnhibernate.org/show/StandardMappingComponents
NH doc:http://nhibernate.info/doc/nh/en/index.html#mapping-declaration-component