Niels Bosma
Niels Bosma

Reputation: 11528

Linq2SQL: SubmitChanges covered by a transaction?

MyDataContext context = new MyDataContext();

// do a lot of insert, deletes and updates

context.SubmitChanges(); 

Will all SQL genereated and executed by SubmitChanged() be covered by a transaction? How do I make sure it's covered by a transaction?

Updated:

The reason why I asking it that I having a weird bug where I suspect a transaction hasn't been used.

The procedure is about 500 inserts and a final update on one record. Sometimes the update (and perhaps a few of the insert...) isn't registered in the database.

(SQL Transactions isn't shown in my debug output?)

Upvotes: 1

Views: 1824

Answers (3)

Konamiman
Konamiman

Reputation: 50323

Explicitly creating a TransactionScope is only needed when you are invoking SubmitChanges multiple times and want all of the invokations to be included in one single transaction.

Upvotes: 2

Shiraz Bhaiji
Shiraz Bhaiji

Reputation: 65461

If you want everything to happen within a transaction use a Transaction Scope

http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx

Upvotes: 3

Ahmed Khalaf
Ahmed Khalaf

Reputation: 1220

it is, and the whole thing will roll back if it fails

How to: Submit Changes to the Database (LINQ to SQL)

Upvotes: 4

Related Questions