2010-12-30 4 views
0

Nhibernateに、それを使って取得されたオブジェクトのセットの将来の変更を無視する方法がありますか?NHibernateエンティティの一時的な変更

public ReturnedObject DoIt() 
{ 
    List<MySuperDuperObject> awesomes = repository.GetMyAwesomenesObjects(); 
    var sp = new SuperParent(); 
    BusinessObjectWithoutNHibernateAccess.ProcessThese(i, awesomes,sp) 
    repository.save(sp); 
    return i; 
} 

public ReturnedObject FakeIt() 
{ 
    List<MySuperDuperObject> awesomes = repository.GetMyAwesomenesObjects(); 
    var sp = new SuperParent(); 
    // should something go here to tell NHibernate to ignore changes to awesomes and sp? 
    return BusinessObjectWithoutNHibernateAccess.ProcessThese(awesomes,sp) 
} 

答えて

2

セッションからオブジェクトを削除することができます。メソッドISession.Evictを参照してください。

+0

署名はオブジェクトのみを取ります....これはコレクション全体で...またはループが必要ですか?オブジェクト全体のグラフまたは特定のオブジェクトだけを入れ子にしていますか? –

+0

この質問を読んでいる人には....あなたがアイテムを退去させるときには、そのループのすべてが追い出されるというループは必要ありません。 –

関連する問題