public async Task <Models.Test.Example> InsertThenGetAsync(Models.Test.Example example) { await UnitOfWork.Use <IExampleRepo>().InsertExampleAsync(example); UnitOfWork.SaveChanges(); var result = await UnitOfWork.Use <IExampleRepo>().GetExampleAsync(example.Id); return(result); }
public async Task <IActionResult> Post(Example example) { // Use UnitOfWork Default DbSession UnitOfWork.BeginTransaction(); await UnitOfWork.Use <IExampleRepo>().InsertExampleAsync(example); UnitOfWork.SaveChanges(); UnitOfWork.Commit(); // Use another DbSession // Equal to: UnitOfWork.CreateDbSession().BeginTransaction(); var session = UnitOfWork.CreateDbSession(); UnitOfWork.BeginTransaction(session); example.Id = 0; await UnitOfWork.Use <IExampleRepo>(session).InsertExampleAsync(example); // Equal to: session.SaveChanges(); UnitOfWork.SaveChanges(session); // Equal to: session.Rollback(); UnitOfWork.Rollback(session); return(NoContent()); }