Transacciones Locales usando Enterprise Library 2.0

En dias pasados me preguntaron como ejecutar transacciones locales usando Enterprise Library 2.0 Data Access Application Block y pues aqui dejo el codigo de como hacerlo. Sumamente sencillo en realidad no es nada distinto de lo normal en ADO.NET, es el mismo concepto y modelo. Chequen..

1:             Database db = DatabaseFactory.CreateDatabase();
3:             DbCommand command1 = db.GetSqlStringCommand(“UPDATE Products SET UnitPrice = UnitPrice + 1”);
4:             DbCommand command2 = db.GetSqlStringCommand(“INSERT INTO Categories(CategoryName) VALUES (‘TEST’)”);
5:
6:             using (DbConnection cnn = db.CreateConnection())
7:             {
8:                 cnn.Open();
9:                 DbTransaction tran = cnn.BeginTransaction();
10:
11:                 try
12:                 {
13:                     db.ExecuteNonQuery(command1, tran);
14:                     db.ExecuteNonQuery(command2, tran);
15:                     tran.Commit();
16:                 }
17:                 catch(Exception ex) { tran.Rollback(); }
18:                 finally { cnn.Close(); }
19:             } 

 


En un futuro post voy a escribir sobre como implementar transacciones distribuidas sobre Enterprise Library 2.0 Data Access Application Block usando el objeto TransactionScope de ADO.NET 2.0

Leave a Reply

Your email address will not be published. Required fields are marked *