モジュール式プログラミングは正しいアプローチですが、時には余分な努力と調査が必要な問題につながることがあります。例として3つのデータベース挿入機能がありますInsertName(),InsertAddress(),InsertPhoneNo()
。いずれかの関数で例外が発生した場合、これらの関数はすべて実行する必要があります。データベースは変更されません。
私にできることは、3 つすべてを 1 つにマージして、sqltransaction を使用することです。
InsertDetails()
{
using (SqlTransaction sqlTransaction = cn.BeginTransaction())
{
using (SqlCommand cm = new SqlCommand())
{
cm.Transaction = sqlTransaction;
InsertName();//Code to insert name
Insertaddress();//code to insert address
InsertPhoneNo();//code to insert phone no
}
sqlTransaction.Commit();
}
}
しかし、上記の解決策は私のモジュラーアプローチに反しています。複数の関数をマージせずに1つのSQLトランザクションにバインドすることは可能ですか?そうでない場合、これを達成するための最良の方法はどれですか.