Das Verwenden von Transactions in LINQ-to-SQL ist total simple:

using (System.Transactions.TransactionScope ts = new System.Transactions.TransactionScope()) {
    SomeDatabaseDataContext ctx = new SomeDatabaseDataContext();

    ctx.SomeEntities.InsertOnSubmit(new SomeEntity());
    ctx.SubmitChanges();
    
    ts.Complete();
}

Wichtig ist,das man den Aufruf von ts.Complete() nicht vergisst. Sonst wird ein Rollback auf die Transaktion gemacht!

Für den TransactionScope braucht man eine Referenz auf die System.Transactions.dll.