私は新しいプロジェクトの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 IHttpModuleとTransactionScope
- 2. NHibernate、transactions、TransactionScope
- 3. Entity FrameworkとNHibernateのトランザクション
- 4. TransactionScopeでNhibernateエラー - DTCトランザクション準備段階が失敗しました - Nhibernate 3.0にアップグレード
- 5. NHibernateの子トランザクション分離レベル
- 6. NHibernate 3 Linqクエリキャッシング
- 7. NHibernate - 検証とトランザクションの問題
- 8. NHibernate 3とMySQLのセットアップチュートリアル
- 9. NHibernateは3、HttpModuleをとエラー
- 10. SQL Server Compact 4.0とNHibernateでTransactionScopeを使用する方法
- 11. Fluent NhibernateとNhibernate 2.1.0.1003
- 12. NHibernate MySQLトランザクションがロールバックされません
- 13. チュートリアルNhibernateとlinq to nhibernate
- 14. C#NHibernateアーキテクチャ、3層アプリケーション
- 15. NHibernateは3、SQLクエリ、IndexOutOfRangeException
- 16. NHibernateの第3レベルのキャッシュ
- 17. Castle Windsor 3 + Fluent NHibernate + Castle.NHibernate.Integration
- 18. NHibernateは - 連合3 QueryOvers
- 19. NHibernateでFluent NHibernate 3.0
- 20. spring.net nhibernateセッションごとのトランザクション/要求ごと
- 21. 問題とNHibernateのにLINQを使用してNHibernateの3 LINQクエリで
- 22. SubSonic2.2 SharedDbConnectionScopeとTransactionScopeトランザクションの混乱
- 23. 流行NHibernateとNHibernateのバージョンの問題
- 24. NHibernateトランザクションがOracleの挿入と更新で失敗する
- 25. NHibernateとの分散トランザクションに参加できません
- 26. nHibernate - ストアドプロシージャとコンポジットキー
- 27. NHibernateはとライフサイクルイベント
- 28. NHibernate LinqとDistinctRootEntity
- 29. Nhibernate GetとLoad
- 30. Nhibernateとenums
はい、なぜNHibernateトランザクションを開く必要がありますか? TransactionScopeは、NHibernateトランザクションのようなデータベーストランザクションを開くかどうかを指定します。 – Andy
@Andy:NHibernateに明示的なトランザクションを使用することが常に推奨されています(とりわけキャッシュを中断せず、TransactionScopeを持っているときにNHトランザクションを持たないため、デバッグが難しいバグが発生する可能性があります)。それはより良いかもしれませんが、それはそうです。 –