2012-04-16 60 views
0

我想映射類型的組件:FormFieldType到類型:FormField上的屬性。在映射按照慣例映射組件NHibernate 3.3

我在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,正則表達式 不存在。 這是因爲nhibernate認爲它們是FormField表的一部分。但它們在FormFieldType表中。 如何正確映射這個? 請幫忙。

回答

0

根據我在nhusers板上的回答。您希望對2個實體使用ManyToOne,而不是將其作爲組件映射。組件用於將多個域對象映射到單個表。