Я добавил составной идентификатор в свой класс.добавление новой строки работает нормально.но удаление элемента вызывает исключение Excepion:
System.Collections.Generic.KeyNotFoundException с кодом пользователя. Message = Указанный ключ отсутствует в словаре.Source = mscorlib StackTrace: в System.Collections.Generic.Dictionary`2.get_Item (ключ TKey) в NHibernate.Engine.StatefulPersistenceContext.RemoveEntity (ключ EntityKey) в каталоге d: \ CSharp \ NH \ nhibernate \ src \ NHibernate \ Engine \ Engine.cs: строка 434 в NHibernate.Action.EntityDeleteAction.Execute () в d: \ CSharp \ NH \ nhibernate \ src \ NHibernate \ Action \ EntityDeleteAction.cs: строка 87 в NHibernate.Engine.ActionQueue.Execute (исполняемый файл IExecutable) вd: \ CSharp \ NH \ nhibernate \ src \ NHibernate \ Engine \ ActionQueue.cs: строка 136 в NHibernate.Engine.ActionQueue.ExecuteActions (список IList) в d: \ CSharp \ NH \ nhibernate \ src \ NHibernate \ Engine \ ActionQueue.cs: строка 126 в NHibernate.Engine.ActionQueue.ExecuteActions () в d: \ CSharp \ NH \ nhibernate \ src \ NHibernate \ Engine \ ActionQueue.cs: строка 174 в NHibernate.Event.Default.AbstractFlushingEventListener.PerformExecutions (IEventSource) в d: \ CSharp \ NH \ nhibernate \ src \ NHibernate \ Event \ Default \ AbstractFlushingEventListener.cs: строка 241 в NHibernate.Event.Default.DefaultFlushEventListener.OnFlush (событие FlushEvent) в d: \ CSharp \ NH \ nhibernate \ src \ NHibernate \ Event \ Default \ DefaultFlushEventListener.cs: строка 19 в NHibernate.Impl.SessionImpl.Flush () в d: \ CSharp \ NHnhibernate \ src \ NHibernate \ Impl \ SessionImpl.cs: строка 1479 в NHibernate.Transaction.AdoTransaction.Commit () в d: \ CSharp \ NH \ nhibernate \ src \ NHibernate \ Transaction \ AdoTransaction.cs: строка 187 в Spring.Data.NHibernate.HibernateTransactionManager.DoCommit (статус DefaultTransactionStatus) в c: _svn \ spring-net \ tags \ spring-net-1.3.1 \ src \ Spring \ Spring.Data.NHibernate \ Data \ NHibernate \ HibernateTransactionManager.cs: строка 576 вSpring.Transaction.Support.AbstractPlatformTransactionManager.ProcessCommit (состояние DefaultTransactionStatus) InnerException:
Мой файл сопоставления выглядит следующим образом:
<composite-id>
<key-many-to-one name="X1" lazy="proxy" class="X1, X1" column="X1" />
<key-many-to-one name="X2" lazy="false" class="X2, X2" column="X2" />
</composite-id>
<property name="Id" column="Id" type="int" not-null="true"
update="false" insert="false" generated="always"/>
<property name="MinimumAmount" column="MinimumAmount" type="int" not-null="false" />
<property name="MaximumAmount" column="MaximumAmount" type="int" not-null="false" />
<property name="Leverage" column="Leverage" type="int" not-null="false" />
Пожалуйста, помогите мне,
Большое спасибо, Или.