Есть ли разница между методами транзакций SMO ServerConnection и использованием свойства SqlConnectionObject?
Я использую 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 ответ
Решение
Два эквивалентны. Использование объекта SqlTransaction позволяет поместить транзакцию в using
объем:
using(SqlTransaction trn = conn.BeginTransaction ())
{
...
trn.Commit ();
}
Это лучший шаблон при наличии исключений.