c# - Cloning an entity in NHibernate? -
i want save single object database twice. have code:
using (var ss = nhibhelp.opensession()) using (var tt = ss.begintransaction()) { var entity = new entity(); ss.save(entity); ss.save(entity); tt.commit(); } but results in 1 row being added database. how insert single object database twice (with 2 different ids) ?
you shouldn't - nhibernate maintains "object identity" within it's session, not differentiate between ..well.. same object. advise against this, , better solution @ way of cloning object (either via reflection, or clone method), , saving cloned object.
if want ignore advice above, can work evicting entity session, setting it's id it's unsaved value (depends on mapping, 0), , saving again.
it might work if called session.merge(entity) twice (you have reset id it's unsaved value after first call).
alternatively use stateless session session.merge() , don't have evict entity between save's.
Comments
Post a Comment