C'est en fait assez facile à faire, car vous pouvez passer un SqlConnection
dans le LINQ to SQL DataContext
sur le chantier. Exécutez simplement cette connexion dans une transaction et annulez cette transaction dès que vous avez terminé.
Voici un exemple :
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();
}
}