C# NHibernate DefaultUpdateEventListener和事件的问题
我对NHibernate中的DefaultUpdateEventListener有问题。 我将更新2个对象,然后提交会话 第一个对象没有进入侦听器,第二个对象进入侦听器 所以我用反射器检查问题出在哪里 首先,NHibernate将在DefeultSaveOrUpdateEventListener中调用PerformSaveOrUpdate,我看到了C# NHibernate DefaultUpdateEventListener和事件的问题,c#,nhibernate,event-listener,C#,Nhibernate,Event Listener,我对NHibernate中的DefaultUpdateEventListener有问题。 我将更新2个对象,然后提交会话 第一个对象没有进入侦听器,第二个对象进入侦听器 所以我用反射器检查问题出在哪里 首先,NHibernate将在DefeultSaveOrUpdateEventListener中调用PerformSaveOrUpdate,我看到了 protected virtual object PerformSaveOrUpdate(SaveOrUpdateEvent @event) {
protected virtual object PerformSaveOrUpdate(SaveOrUpdateEvent @event)
{
switch (this.GetEntityState(@event.Entity, @event.EntityName, @event.Entry, @event.Session))
{
case EntityState.Persistent:
return this.EntityIsPersistent(@event);
case EntityState.Detached:
this.EntityIsDetached(@event);
return null;
}
return this.EntityIsTransient(@event);
}
两个对象的不同之处在于状态
第一个对象被分离,第二个对象被持久化
是什么使对象在NHibernate中持久化或分离
如果我知道这个例子中的区别,我希望我能在代码中解决这个问题
这两个对象的负载与会话相同。负载我解决了问题,实现了
公共覆盖void OnSaveOrUpdate(SaveOrUpdateEvent@event) 此事件将在PerformSaveOrUpdate(SaveOrUpdateEvent@event)之前命中 此时,对象是持久的还是分离的并不重要