在Mapping by Convention NHibernate 3.3中映射组件

时间:2012-04-16 12:31:12

标签: nhibernate components nhibernate-mapping

我正在尝试将类型为FormFieldType的组件映射到类型为FormField的属性。

我在db中有两个表:FormField和FormFieldType。

mapper.Class<FormField>(map=>map.Component<FormFieldType>(p=>p.FormFieldType, 
   cm=>
      {
       cm.Property(x => x.FormFieldTypeName, m => m.Column("FORM_FIELD_TYPE_NAME"));
       cm.Property(x => x.FieldType, m => m.Column("FIELD_TYPE"));
       cm.Property(x => x.Regex, m => m.Column("REGEX"));
      }));

当我尝试查询FormField表时,它会显示列:FORM_FIELD_TYPE_NAME,FIELD_TYPE,REGEX  不存在。 这是因为nhibernate认为它们是FormField表的一部分。但它们位于FormFieldType表中。 如何正确映射这个? 请帮忙。

1 个答案:

答案 0 :(得分:0)

根据我对nhusers董事会的回答。您希望对2个实体使用ManyToOne而不将其映射为组件。组件用于将多个域对象映射到单个表。