ロールバックまたはコミットできる単一のトランザクションで多くのデータベース挿入をラップする必要がある DAL があります。
それを処理するためのベストプラクティスは何ですか?
現在、次のことを行っています。
- DB接続とトランザクションの作成
- 実行するアクションを表すすべてのクラスをコレクションに入力します。コンストラクターを介して接続を渡します。
- try/catch で、すべてのアクション クラスをループし、その Publish() メソッドを呼び出します。
- 成功した場合はコミット (接続を閉じます)、エラーの場合はロールバックします (接続を閉じます)。
このプロセスには時間がかかる場合があり、プールされたデータベース接続が不足しているようです。トランザクションを管理するためのより良い方法はありますか?
これは、SQL 2008、.net 3.5、およびエンタープライズ ライブラリ データ アクセスの 4.1 バージョンを使用しています。