2012-03-07 6 views
1

ときI:このスタックトレースでNHibernateは立ち退かせるには、オブジェクト参照がオブジェクトエラーのインスタンスに設定されていないスロー

{"Object reference not set to an instance of an object."}  ???????? 

Evictメソッド呼び出しで

if (nhsession.Contains(myobj)) 
    nhsesion.Evict(myobj) 

私はこのエラーを取得する

at NHibernate.Event.Default.EvictVisitor.EvictCollection(IPersistentCollection collection) 
    at NHibernate.Event.Default.EvictVisitor.EvictCollection(Object value, CollectionType type) 
    at NHibernate.Event.Default.EvictVisitor.ProcessCollection(Object collection, CollectionType type) 
    at NHibernate.Event.Default.AbstractVisitor.ProcessValue(Object value, IType type) 
    at NHibernate.Event.Default.AbstractVisitor.ProcessValue(Int32 i, Object[] values, IType[] types) 
    at NHibernate.Event.Default.AbstractVisitor.ProcessEntityPropertyValues(Object[] values, IType[] types) 
    at NHibernate.Event.Default.AbstractVisitor.Process(Object obj, IEntityPersister persister) 
    at NHibernate.Event.Default.DefaultEvictEventListener.DoEvict(Object obj, EntityKey key, IEntityPersister persister, IEventSource session) 
    at NHibernate.Event.Default.DefaultEvictEventListener.OnEvict(EvictEvent event) 
    at NHibernate.Impl.SessionImpl.FireEvict(EvictEvent evictEvent) 
    at NHibernate.Impl.SessionImpl.Evict(Object obj) 
    at NewCash.UI.Presenters.OperazioneIRSPresenter.UserAction(String Action) in C:\AkrosProduzione\NewCash4\src_4\NewCash.UI\Presenters\OperazionePresenter\OperazioneIRSPresenter.vb:line 230 

NHibernate evictはnullコレクションを削除しようとしていますが、どうすれば避けることができますかオブジェクトのすべてのコレクションプロパティを初期化する必要はありませんか?それとも、私が誤解しているという問題がありますか?

+1

これはバグのようですが、Jira https://nhibernate.jira.com/secure/IssueNavigator.jspaを見たことがありますか? – Rippo

+0

あなたのrisponseについて@Rippo、ありがとう、私は同様のバグを見ることができますが、同じではないようですhttps://nhibernate.jira.com/browse/NH-1180 – manuellt

+0

@ KrzysztofKoźmic、多分、あなたは問題は、ありがとう。 – manuellt

答えて

0

Rippoがリンクしているとバグのようです。

しかし、バグであっても、モデルクラスのコンストラクタでコレクションプロパティを空のコレクションに初期化することをお勧めします。アクセスのたびにヌルコレクションをチェックし、コレクションタイプを変更する(例えば、それを飾る)ことは、それを変更する場所が1つしかないことではありません。

関連する問題