NHibernate: cannot append items to map element -


i have map element in mapping -

        <component name="resources">         <map name="inner" table="sometable" lazy="false" fetch="join" access="field.lowercase-underscore">             <key column="id"/>             <index column="indexid" type="string"/>             <composite-element class="someresource">                 <property name="name"/>             </composite-element>         </map>         </component> 

i want append items in sometable in following way -

            var ent = new entity();         ent.resources.add("key1", new someresource());          var saved = session.saveorupdate(ent);         session.session.flush();         session.session.clear();          var newentity = new entity {id = saved.id};         ent.resources.add("key2", new someresource());          session.saveorupdate(newentity);  // here nhib generates delete sometable id = saved.id         session.session.flush();         session.session.clear(); 

i want have elements "key1" & "key2" in sometable after run, how can done?.. nhib deletes elements specified id sometable before second save.

with code creating 2 elements same id, primary key: that's why nhibernate deletes element "key1" (the ent object).

when create newentity, don't assing id property (as ent) if want new object. otherwise, if want update existing object, do:

    var ent = new entity();     ent.resources.add("key1", new someresource());      var saved = session.saveorupdate(ent);     session.session.flush();     session.session.clear();      // later...      var enttoupdate = session.get<entity>(saved.id);     ent.resources.add("key2", new someresource());      session.saveorupdate(enttoupdate);     session.session.flush();     session.session.clear(); 

Comments

Popular posts from this blog

android - Spacing between the stars of a rating bar? -

html - Instapaper-like algorithm -

c# - How to execute a particular part of code asynchronously in a class -