c# - NHibernate: One-to-many -
i have class called dadosvalmetsam (parent) have one-to-many relationship dadosfuncionariosam(child).
classes , mapping below:
dadosvalmetsam
public class dadosvalmetsam { public dadosvalmetsam() { dadosfuncionarios = new list<dadosfuncionariosam>(); } public virtual int codigodvm { get; set; } public virtual metanomesam codmendvm { get; set; } public virtual validadesam codvaldvm { get; set; } public virtual ilist<dadosfuncionariosam> dadosfuncionarios { get; set; } } public class dadosvalmetsammap : classmap<dadosvalmetsam> { public dadosvalmetsammap() { table("dadosvalmet_sam"); id(x => x.codigodvm).column("codigo_dvm").generatedby.identity().not.nullable(); references(x => x.codmendvm).column("codmen_dvm").not.nullable().not.lazyload(); references(x => x.codvaldvm).column("codval_dvm").not.nullable().not.lazyload(); hasmany(x => x.dadosfuncionarios).keycolumn("coddvm_dfu").cascade.all().not.lazyload(); } } dadosfuncionariosam
public class dadosfuncionariosam { public dadosfuncionariosam() { } public virtual dadosvalmetsam coddvmdfu { get; set; } public virtual funcionario codfundfu { get; set; } public virtual int codigodfu { get; set; } public virtual float? valordfu { get; set; } } public class dadosfuncionariosammap : classmap<dadosfuncionariosam> { public dadosfuncionariosammap() { table("dadosfuncionario_sam"); id(x => x.codigodfu).column("codigo_dfu").generatedby.identity().not.nullable(); references(x => x.codfundfu).column("codfun_dfu").not.nullable().not.lazyload(); map(x => x.valordfu).column("valor_dfu").not.nullable(); references(x => x.coddvmdfu).column("coddvm_dfu").nullable(); } } when i'm inserting dadosvalmetsam, nh inserts data inside ilist, expected. when i'm updating dadosvalmetsam , on update removed row ilist, nh set fk in dadosfuncionariosam null , not deleting record, how solve problem?
have tried
hasmany(x => x.dadosfuncionarios).keycolumn("coddvm_dfu").cascade.deleteorphans().not.lazyload();
Comments
Post a Comment