相当于NHibernate中Hibernate的@embeddable / EF的ComplexTypeConfiguration?

时间:2010-11-24 21:48:49

标签: .net nhibernate hibernate entity-framework orm

在NHibernate中是否有等效于Hibernate的@embeddable注释/实体框架的ComplexTypeConfiguration基类?

我知道1:1映射的可能性,但我正在寻找一种将值嵌入父实体表中的解决方案。

1 个答案:

答案 0 :(得分:3)

基于Hibernate @embeddable属性的快速浏览,它基本上是一个可以在多个地方重用的组件。 NHibernate不支持这种开箱即用的功能,但您可以使用Fluent NHibernate's ComponentMap完成此操作:

Component(x => x.Address, m =>
{
  m.Map(x => x.Number);
  m.Map(x => x.Street);
  m.Map(x => x.PostCode);
});

尽管您可以为列添加前缀以允许同一实体中的重复组件,但似乎ComponentMap没有足够的灵活性来覆盖列定义。 (例如,有人的HomeAddress和WorkAddress的ComponentMap。)