1つのセッションを保持したいのですが、トランザクションをロールバックすると、トランザクションはisActive = falseになるため、同じトランザクションを使用して次のステートメントでコミットおよびロールバックすることはできません。次に、新しいトランザクションを作成する必要がありますが、ここで何が問題になっていますか?
var session = NHibernateHelper.OpenSession();/* It returns new session. */
var transaction1 = session.BeginTransaction();
var list1 = session.Query<Make>().ToList(); /* It returs 4 records. */
session.Delete(list1[2]);
/* After Rollback, transaction is isActive=false so I can not commit
* and rollback from this transaction in future. so I need to create new transaction.
*/
transaction1.Rollback();
var transaction2 = session.BeginTransaction();
/* It returns 3 records.
* I am not getting object(which was deleted but after that rollback) here why ?
*/
var list2 = session.Query<Make>().ToList();
誰もがここで何が間違っているのか知っていますか?ロールバックされた削除済みオブジェクトを取得していません。