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.