У меня есть элемент карты в моем отображении -
<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>
Я хочу добавить элементы в SomeTable следующим образом -
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 FROM SomeTable WHERE Id = saved.Id
Session.Session.Flush();
Session.Session.Clear();
Я хочу иметь элементы "key1" и "key2" в SomeTable после запуска, как это можно сделать? .. В настоящее время nHib удаляет все элементы с указанным идентификатором из SomeTable перед вторым сохранением.