public void UseTransaction(Action action, IsolationLevel il) { PublicHelper.CheckNull(action); using (ITransientTransaction tran = this.BeginTransaction(il)) { action(); tran.Commit(); } }
public async Task UseTransaction(Func <Task> func, IsolationLevel il) { PublicHelper.CheckNull(func); using (ITransientTransaction tran = this.BeginTransaction(il)) { await func(); tran.Commit(); } }
public virtual void DoWithTransaction() { /*--------------1--------------*/ using (ITransientTransaction tran = this.DbContext.BeginTransaction()) { /* do some things here */ this.DbContext.Update <Person>(a => a.Id == 1, a => new Person() { Name = a.Name, Age = a.Age + 1, Gender = Gender.Male, EditTime = DateTime.Now }); this.DbContext.Delete <Person>(a => a.Id == 1024); tran.Commit(); } ConsoleHelper.WriteLineAndReadKey(); /*--------------2--------------*/ this.DbContext.UseTransaction(() => { this.DbContext.Update <Person>(a => a.Id == 1, a => new Person() { Name = a.Name, Age = a.Age + 1, Gender = Gender.Male, EditTime = DateTime.Now }); this.DbContext.Delete <Person>(a => a.Id == 1024); }); ConsoleHelper.WriteLineAndReadKey(); /*--------------3--------------*/ this.DbContext.Session.BeginTransaction(); try { /* do some things here */ this.DbContext.Update <Person>(a => a.Id == 1, a => new Person() { Name = a.Name, Age = a.Age + 1, Gender = Gender.Male, EditTime = DateTime.Now }); this.DbContext.Delete <Person>(a => a.Id == 1024); this.DbContext.Session.CommitTransaction(); } catch { if (this.DbContext.Session.IsInTransaction) { this.DbContext.Session.RollbackTransaction(); } throw; } ConsoleHelper.WriteLineAndReadKey(); }
public static void DoWithTransaction() { using (ITransientTransaction tran = context.BeginTransaction()) { /* do some things here */ context.Update <User>(a => a.Id == 1, a => new User() { Name = a.Name, Age = a.Age + 1, Gender = Gender.Man, OpTime = DateTime.Now }); context.Delete <User>(a => a.Id == 1024); tran.Commit(); } ConsoleHelper.WriteLineAndReadKey(); }
public virtual void DoWithTransaction() { using (ITransientTransaction tran = this.DbContext.BeginTransaction()) { /* do some things here */ this.DbContext.Update <Person>(a => a.Id == 1, a => new Person() { Name = a.Name, Age = a.Age + 1, Gender = Gender.Male, EditTime = DateTime.Now }); this.DbContext.Delete <Person>(a => a.Id == 1024); tran.Commit(); } ConsoleHelper.WriteLineAndReadKey(); }
public void UseTransaction(Action action) { /* * dbContext.UseTransaction(() => * { * dbContext.Insert()... * dbContext.Update()... * dbContext.Delete()... * }); */ PublicHelper.CheckNull(action); using (ITransientTransaction tran = this.BeginTransaction()) { action(); tran.Commit(); } }
public async Task UseTransaction(Func <Task> func) { /* * await dbContext.UseTransaction(async () => * { * await dbContext.InsertAsync()... * await dbContext.UpdateAsync()... * await dbContext.DeleteAsync()... * }); */ PublicHelper.CheckNull(func); using (ITransientTransaction tran = this.BeginTransaction()) { await func(); tran.Commit(); } }