SaveChanges
does execute in one transaction, guaranteed. I think it's a big omission that the MSDN docs on DbContext
don't mention this. But then, its virtually useless anyway. The ADO.Net Entity Framework blogs are the place to be.
Sql Server Profiler doesn't log transaction events by default. If you want to see those you have to select them when you start a new trace, for instance: