Есть ли разница между методами транзакций SMO ServerConnection и использованием свойства SqlConnectionObject? - PullRequest
3 голосов
/ 17 июня 2010

Я использую SMO для создания баз данных и таблиц на SQL Server. Я хочу сделать это в транзакции. Являются ли оба эти метода действительными и эквивалентными:

Первый метод:

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

Второй метод:

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

1 Ответ

3 голосов
/ 17 июня 2010

Два эквивалентны.Использование объекта SqlTransaction позволяет поместить транзакцию в область действия using:

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

. Это лучший шаблон при наличии исключений.

...