複数の関数とクラスで多くの SQL 呼び出しを行う C# アプリケーションがあります。データベースは SQL Server 2008 R2 です。現在、各クラスまたは関数は、データベースへのデータの読み取り/書き込みが必要になるたびに、独自の SQL 接続を開きます。
using (SqlConnection connection = new SqlConnection(connectionString))
これは接続管理を処理する正しい方法ですか? また、トランザクションを追加し始めたばかりなので、間違っていなければ、同じ接続でトランザクションを完了する必要があります。コードの例を次に示します。
try
{
Class1 class1 = new Class1();
class1.data = "somedata";
class1.save(); // new sql connnection
Class2 class2 = new Class2();
class2.data = GetSomeData(); // new sql connection
class2.save(); // new sql connection
}
catch (Exception e)
{
}
TransactionScope と SqlTransaction を見てきましたが、現在の接続構造がこの実装に最適かどうかはわかりません。ガイダンスをいただければ幸いです。