3

SMO を使用して、SQL Server にデータベースとテーブルを作成しています。私はトランザクションでそうしたい。これらの方法はどちらも有効で同等ですか:

最初の方法:

Server server;
//...
server.ConnectionContext.BeginTransaction();
//...
server.ConnectionContext.CommitTransaction();

2 番目の方法:

Server server;
// ...
SqlConnection conn = server.ConnectionContext.SqlConnectionObject;
SqlTransaction trans = conn.BeginTransaction();
// ...
trans.Commit();
4

1 に答える 1

3

2つは同等です。SqlTransaction オブジェクトを使用すると、トランザクションをusingスコープに配置できます。

using(SqlTransaction  trn = conn.BeginTransaction ())
{
 ...
 trn.Commit ();
}

これは、例外が存在する場合に適したパターンです。

于 2010-06-16T22:20:18.707 に答える