2009-10-08 5 views
1

Fluent NHibernate: Сопоставление класса с проблемой подкласса

<id name="ID" column="CodigoPessoa" type="Int32" unsaved-value="0"> 
    <generator class="identity"/> 
</id> 

<property column="CodigoCEP" name="CodigoCEP" type="String" /> 

<joined-subclass name="Core.clsPessoaJuridica,Core" table="tblPessoaJuridica" lazy="true"> 
    <key column="CodigoPessoaJuridica"/> 
    <property column="NomeFantasia" type="String" name="NomeFantasia" /> 
    <many-to-one name="TipoEmpresa" column="CodigoTipoEmpresa" class="Core.clsTipoEmpresa,Core" cascade="none"/>  
</joined-subclass> 

<joined-subclass name="Core.clsPessoaFisica,Core" table="tblPessoaFisica" lazy="true"> 
    <key column="CodigoPessoaFisica"/> 
    <property column="Nome" type="String" name="Nome" /> 
</joined-subclass> 

я пытаюсь перейти на NH Fluent картографирования ... Помощь?

ответ

3

Может быть, это поможет

public class clsPessoaMap : ClassMap<clsPessoa> 
{ 
    public clsPessoaMap() 
    { 
     Table("tblPessoa"); 
     Id(x => x.ID).Column("CodigoPessoa").UnsavedValue(0).GeneratedBy.Identity(); 
     Map(x => x.CodigoCEP); 
    } 

} 

public class clsPessoaJuridicaMap : SubclassMap<clsPessoaJuridica> 
{ 
    public clsPessoaJuridicaMap() 
    { 
     KeyColumn("CodigoPessoaJuridica"); 
     Map(x => x.NomeFantasia); 
     References(x => x.clsTipoEmpresa).Column("CodigoTipoEmpresa"); 
    } 
} 

public class clsPessoaFisicaMap: SubclassMap<clsPessoaFisica> 
{ 
    public clsPessoaFisicaMap() 
    { 
     KeyColumn("CodigoPessoaFisica"); 
     Map(x => x.Nome); 
    } 
} 
Смежные вопросы