새 프로젝트를 위해 TransactionScope 또는 NHibernate 트랜잭션 중에서 선택해야합니다. 더 나은 점은 무엇입니까? TransactionScope는 언제 사용해야합니까? NHibernate 트랜잭션?NHibernate 3 - TransactionScope 대 NHibernate 트랜잭션
2
A
답변
6
다른 것들입니다.
항상 NHibernate 트랜잭션 내에서 작업해야합니다.
필요에 따라 TransactionScope를 사용할 수 있습니다. 둘 이상의 세션이 관련된 경우 분산 트랜잭션을 사용합니다.
NHibernate 트랜잭션은 자동으로 분산 트랜잭션에 참여하지만 자동으로 생성되지 않으므로 권장 패턴은 다음과 같습니다. TransactionScope가있는 경우 NH 트랜잭션을 엽니 다.
0
트랜잭션 관리는 NHibernate ITransaction 인터페이스를 통해 응용 프로그램 개발자에게 노출됩니다. 당신은이 API를 사용하도록 강요 당하지 않습니다. NHibernate는 ADO.NET 트랜잭션을 직접 제어 할 수 있습니다.
관련 문제
- 1. NHibernate, transactions 및 TransactionScope
- 2. NHibernate, TransactionScope and locking
- 3. SqlBulkCopy에서 NHibernate 트랜잭션 사용하기
- 4. NHibernate 매핑 속성 대 유창 NHibernate
- 5. Ado.net 트랜잭션 범위, NHibernate 및 여러 서버
- 6. Fluent NHibernate 3와 Enum으로서의 Enum과 NHibernate 3
- 7. NHibernate CallSessionContext 대 ThreadStaticSessionContext
- 8. LINQ 대 nHibernate
- 9. Nhibernate 3 & LINQ
- 10. TransactionScope : 분산 트랜잭션 피하기
- 11. EF4 ObjectContext 대 NHibernate 세션
- 12. C# 공유 트랜잭션 및 IRepository를 사용하는 NHibernate
- 13. NHibernate - 1 대 1로 반대가 없음
- 14. NHibernate 3 및 LINQ 지원?
- 15. NHibernate 3 Linq 질의 캐싱
- 16. Nhibernate 3 Linq가 Antlr.Runtime.NoViableAltException을 던졌습니다
- 17. TransactionScope에서 Nhibernate 오류 - DTC 트랜잭션 준비 단계 실패 - Nhibernate 3.0으로 업그레이드
- 18. ASP.NET MVC에서 NHibernate 트랜잭션 관리 - 어떻게해야합니까?
- 19. NHibernate - 유효성 검사 및 트랜잭션 문제
- 20. NServiceBus 및 NHibernate - 메시지 처리기 및 트랜잭션
- 21. NHibernate : 복수 엔티티, 하나의 트랜잭션 - 다중 리파지토리?
- 22. NHibernate, MySQL, InnoDB 및 중첩 된 트랜잭션
- 23. NHibernate Spring .NET은 트랜잭션 프록시에 조언을 추가한다.
- 24. Interoperable Fluent NHibernate + NHibernate + Linq to NHibernate
- 25. NHibernate 또는 Fluent NHibernate?
- 26. NHibernate 3.0이있는 Fluent NHibernate
- 27. TransactionScope 내에서 ADO.Net 트랜잭션 사용?
- 28. NHibernate 트랜잭션이 무작위로 롤백되지 않습니다.
- 29. Linq2SQL 대 NHibernate 성능 (화가 났습니까?)
- 30. Fluent Nhibernate 및 Nhibernate 2.1.0.1003
네,하지만 NHibernate 트랜잭션을 열어야하는 이유는 무엇입니까? TransactionScope NHibernate 트랜잭션과 같은 데이터베이스 트랜잭션을 열지 말 것인가? – Andy
@Andy : 명시 적 트랜잭션을 사용하는 것이 항상 NHibernate에 권장되므로 (특히 캐싱을 중단하지 않는 것 등), TransactionScope를 가질 때 NH 트랜잭션을 가지지 않으면 디버그하기 어려운 버그가 발생할 수 있습니다. 더 좋을 수도 있지만 그것이 그 방법입니다. –