I'm getting this when trying to save a few instances of a class:
NHibernate.NonUniqueObjectException: a different object with the same
identifier value was already associated with the session: 0, of entity:
SomeClass
at NHibernate.Engine.StatefulPersistenceContext.CheckUniqueness(EntityKey
key, Object obj)
at
NHibernate.Event.Default.AbstractSaveEventListener.PerformSaveOrReplicate(Object
entity, EntityKey key, IEntityPersister persister, Boolean
useIdentityColumn, Object anything, IEventSource source, Boolean
requiresImmediateIdAccess)
at NHibernate.Event.Default.AbstractSaveEventListener.PerformSave(Object
entity, Object id, IEntityPersister persister, Boolean useIdentityColumn,
Object anything, IEventSource source, Boolean requiresImmediateIdAccess)
at
NHibernate.Event.Default.AbstractSaveEventListener.SaveWithGeneratedId(Object
entity, String entityName, Object anything, IEventSource source, Boolean
requiresImmediateIdAccess)
at
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.SaveWithGeneratedOrRequestedId(SaveOrUpdateEvent
event)
at
NHibernate.Event.Default.DefaultSaveEventListener.SaveWithGeneratedOrRequestedId(SaveOrUpdateEvent
event)
at
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.EntityIsTransient(SaveOrUpdateEvent
event)
at
NHibernate.Event.Default.DefaultSaveEventListener.PerformSaveOrUpdate(SaveOrUpdateEvent
event)
at
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.OnSaveOrUpdate(SaveOrUpdateEvent
event)
at NHibernate.Impl.SessionImpl.FireSave(SaveOrUpdateEvent event)
at NHibernate.Impl.SessionImpl.Save(Object obj)
at SomeRepository.Save(SomeClass entity) in ...
The code is just calling Session.Save(entity).
Relevant mapping is:
<class name="SomeClass" table="some_table" dynamic-insert="true"
dynamic-update="true">
<id name="Id" column="some_class_id">
<generator class="identity"/>
</id>
Id is declared in the Entity<TIdentity> superclass:
public virtual TIdentity Id { get; protected set; }
The first save (which comes after some saving of other entities) succeeds.
Any ideas?
Diego
--
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/nhusers?hl=en.