하나의 세션을 유지하고 싶지만 트랜잭션을 롤백하면 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();
누구나 여기서 어떤 문제가 발생했는지 알 수 있습니까? 롤백 된 삭제 된 개체가 표시되지 않습니다.
귀하의 태그를 편집 한 이유가 있습니다. 귀하의 질문에 전혀 매핑이 없습니다; 왜 당신은 ** ** 매핑 관련 태그를 추가하고 있습니까? –
안녕하세요 디에고, 유창한 nhibernate를 사용하고 있으므로 유창한 nhibernate 태그도 이와 같이 유지하고 싶습니다. –
Fluent NHibernate는 매핑 방법 일뿐입니다. 여기에는 매핑이 없으며 문제는 매핑과 관련이 없습니다. –