Всъщност е доста лесно да направите това, защото можете да подадете SqlConnection
в LINQ към SQL DataContext
по строителството. Просто стартирайте тази връзка в транзакция и върнете тази транзакция назад веднага щом приключите.
Ето един пример:
string output;
using (var connection = new SqlConnection("your conn.string"))
{
connection.Open();
using (var transaction = connection.StartTransaction())
{
using (var context = new YourDataContext(connection))
{
// This next line is needed in .NET 3.5.
context.Transaction = transaction;
var writer = new StringWriter();
context.Log = writer;
// *** Do your stuff here ***
context.SubmitChanges();
output = writer.ToString();
}
transaction.Rollback();
}
}