Code: Select all
...
var connection = ((IObjectContextAdapter)dbContext).ObjectContext.Connection;
connection.Open();
using (DbTransaction transaction = connection.BeginTransaction())
            {
                dbContext.Users.Add(new User() { Id = 1, Name = "111" });
                dbContext.SaveChanges();
                dbContext.Users.Add(new User() { Id = 2, Name = "122" });
                dbContext.SaveChanges();
                dbContext.Users.Add(new User() { Id = 3, Name = "333" });
                
                transaction.Commit();
            }
connection.Close();
...
2) What data will be written to database? All 3 users, or only 2 (does transaction.Commit() performs dbContext.SaveChanges() automatically)?
3) Is there a difference in what dbContext.SaveChanges() actually do when it is called separately or within a transaction?
Thank you.