0
我正在尋找任何如何或文檔關於使用FluentNHibernate Embeddable
準確地在Hibernate中。有沒有什麼辦法可以在FluentNHibernate中與Embeddable一起工作,如果沒有,有什麼最好的方法來模擬這個?在FluentNHibernate中使用Embeddable嗎?
我正在尋找任何如何或文檔關於使用FluentNHibernate Embeddable
準確地在Hibernate中。有沒有什麼辦法可以在FluentNHibernate中與Embeddable一起工作,如果沒有,有什麼最好的方法來模擬這個?在FluentNHibernate中使用Embeddable嗎?
最後我找到了一些解決方案。它非常簡單,像JPA/Hibernate的Embeddable
。
這裏找到:https://github.com/jagregory/fluent-nhibernate/wiki/Fluent-mapping#components
然後我做了。
public class Cliente {
public virtual long id { set; get; }
public virtual long codigo { set; get; }
public virtual String nome { set; get; }
public virtual String sexo { set; get; }
public virtual String cpf { set; get; }
public virtual String rg { set; get; }
public virtual DateTime dtNascimento { set; get; }
public virtual Endereco endereco { set; get; } //Embeddable
public Cliente() { }
}
public class Endereco {
public String endereco;
public String numero;
public String bairro;
public String complemento;
public String cidade;
public String cep;
public EstadosBrasil uf;
public Endereco() {
}
}
映射
public class ClienteMap : ClassMap<Cliente> {
public ClienteMap() {
Table("CLIENTE");
Id(c => c.id).GeneratedBy.Native();
Map(c => c.codigo);
Map(c => c.nome);
Map(c => c.sexo).Length(2);
Map(c => c.cpf);
Map(c => c.rg);
Map(c => c.dtNascimento).CustomType<DateTime>();
//embeddable
Component(c => c.endereco, e => {
e.Map(c => c.endereco);
e.Map(c => c.numero).CustomType<int>();
e.Map(c => c.bairro);
e.Map(c => c.complemento);
e.Map(c => c.cidade);
e.Map(c => c.cep);
e.Map(c => c.uf).CustomType<GenericEnumMapper<EstadosBrasil>>();
});
}
}