Ejemplo n.º 1
0
        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());
        }