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

Popular posts from this blog

How to understand 2 main() functions after using uftrace to profile the C++ program? -

c# - Update a combobox from a presenter (MVP) -

How to put a lock and transaction on table using spring 4 or above using jdbcTemplate and annotations like @Transactional? -