public async Task execute_method_for_void_sqls_should_work() { int blogId = await _blogDapperRepository.InsertAndGetIdAsync(new Blog("Oguzhan_Blog", "wwww.aspnetboilerplate.com")); await _blogDapperRepository.ExecuteAsync("Update Blogs Set Name = @name where Id =@id", new { id = blogId, name = "Oguzhan_New_Blog" }); (await _blogDapperRepository.GetAsync(blogId)).Name.ShouldBe("Oguzhan_New_Blog"); (await _blogRepository.GetAsync(blogId)).Name.ShouldBe("Oguzhan_New_Blog"); }
public async Task ExecuteMethodForVoidSqlShouldWork() { var blogId = blogDapperRepository.InsertAndGetId(new Blog("LongBlog", "wwww.studiox.com")); await blogDapperRepository.ExecuteAsync("Update Blogs Set Name = @name where Id =@id", new { id = blogId, name = "LongNewBlog" }); blogDapperRepository.Get(blogId).Name.ShouldBe("LongNewBlog"); blogRepository.Get(blogId).Name.ShouldBe("LongNewBlog"); }
public async Task inline_sql_with_dapper_should_rollback_when_uow_fails() { Resolve <IEventBus>().Register <EntityCreatingEventData <Blog> >(eventData => { eventData.Entity.Name.ShouldBe("Oguzhan_Same_Uow"); }); var blogId = 0; using (var uow = Resolve <IUnitOfWorkManager>().Begin()) { blogId = await _blogDapperRepository.InsertAndGetIdAsync( new Blog("Oguzhan_Same_Uow", "www.aspnetboilerplate.com") ); var person = await _blogRepository.GetAsync(blogId); person.ShouldNotBeNull(); await uow.CompleteAsync(); } try { using (IUnitOfWorkCompleteHandle uow = Resolve <IUnitOfWorkManager>() .Begin(new UnitOfWorkOptions { IsTransactional = true })) { await _blogDapperRepository.ExecuteAsync( "Update Blogs Set Name = @name where Id =@id", new { id = blogId, name = "Oguzhan_New_Blog" } ); throw new Exception("uow rollback"); // Unreachable code. // await uow.CompleteAsync(); } } catch (Exception) { //no handling. } (await _blogDapperRepository.FirstOrDefaultAsync(x => x.Name == "Oguzhan_New_Blog")).ShouldBeNull(); (await _blogRepository.FirstOrDefaultAsync(x => x.Name == "Oguzhan_New_Blog")).ShouldBeNull(); (await _blogDapperRepository.FirstOrDefaultAsync(x => x.Name == "Oguzhan_Same_Uow")).ShouldNotBeNull(); (await _blogRepository.FirstOrDefaultAsync(x => x.Name == "Oguzhan_Same_Uow")).ShouldNotBeNull(); }
public async Task execute_method_for_void_sqls_should_work() { using (IUnitOfWorkCompleteHandle uow = The <IUnitOfWorkManager>().Begin()) { int blogId = _blogDapperRepository.InsertAndGetId(new Blog("Oguzhan_Blog", "wwww.stove.com")); await _blogDapperRepository.ExecuteAsync("Update Blogs Set Name = @name where Id =@id", new { id = blogId, name = "Oguzhan_New_Blog" }); _blogDapperRepository.Get(blogId).Name.ShouldBe("Oguzhan_New_Blog"); _blogRepository.Get(blogId).Name.ShouldBe("Oguzhan_New_Blog"); uow.Complete(); } }
public async Task inline_sql_with_dapper_should_rollback_when_uow_fails() { //The<IEventBus>().Register<EntityCreatingEvent<Blog>>( // @event => { @event.Entity.Name.ShouldBe("Oguzhan_Same_Uow"); }); var blogId = 0; using (IUnitOfWorkCompleteHandle uow = The <IUnitOfWorkManager>().Begin()) { blogId = _blogDapperRepository.InsertAndGetId(new Blog("Oguzhan_Same_Uow", "www.stove.com")); Blog person = _blogRepository.Get(blogId); person.ShouldNotBeNull(); uow.Complete(); } try { using (IUnitOfWorkCompleteHandle uow = The <IUnitOfWorkManager>().Begin(new UnitOfWorkOptions { IsTransactional = true })) { await _blogDapperRepository.ExecuteAsync("Update Blogs Set Name = @name where Id =@id", new { id = blogId, name = "Oguzhan_New_Blog" }); throw new Exception("uow rollback"); uow.Complete(); } } catch (Exception exception) { //no handling. } using (IUnitOfWorkCompleteHandle uow = The <IUnitOfWorkManager>().Begin()) { _blogDapperRepository.FirstOrDefault(x => x.Name == "Oguzhan_New_Blog").ShouldBeNull(); _blogRepository.FirstOrDefault(x => x.Name == "Oguzhan_New_Blog").ShouldBeNull(); _blogDapperRepository.FirstOrDefault(x => x.Name == "Oguzhan_Same_Uow").ShouldNotBeNull(); _blogRepository.FirstOrDefault(x => x.Name == "Oguzhan_Same_Uow").ShouldNotBeNull(); uow.Complete(); } }
public async Task InlineSqlWithDapperShouldR0ollbackWhenUoWFails() { Resolve <IEventBus>().Register <EntityCreatingEventData <Blog> >( eventData => { eventData.Entity.Name.ShouldBe("SameUow"); }); int blogId = 0; using (IUnitOfWorkCompleteHandle uow = Resolve <IUnitOfWorkManager>().Begin()) { blogId = blogDapperRepository.InsertAndGetId(new Blog("SameUow", "www.studiox.com")); Blog person = blogRepository.Get(blogId); person.ShouldNotBeNull(); uow.Complete(); } try { using (IUnitOfWorkCompleteHandle uow = Resolve <IUnitOfWorkManager>().Begin(new UnitOfWorkOptions { IsTransactional = true })) { await blogDapperRepository.ExecuteAsync("Update Blogs Set Name = @name where Id =@id", new { id = blogId, name = "NewBlog" }); throw new Exception("uow rollback"); uow.Complete(); } } catch (Exception exception) { //no handling. } blogDapperRepository.FirstOrDefault(x => x.Name == "NewBlog").ShouldBeNull(); blogRepository.FirstOrDefault(x => x.Name == "NewBlog").ShouldBeNull(); blogDapperRepository.FirstOrDefault(x => x.Name == "SameUow").ShouldNotBeNull(); blogRepository.FirstOrDefault(x => x.Name == "SameUow").ShouldNotBeNull(); }
public async Task ExecuteAsync(string sql, object param = null) { await _dapperRepository.ExecuteAsync(sql, param); }
public Task DeleteBookWithParam(Book book) { string sql = "DELETE FROM book WHERE name=@name AND writer=@writer"; return(_bookDapperRepository.ExecuteAsync(sql, book)); }
/// <summary> /// 删除所有 /// </summary> /// <returns></returns> public async Task DeleteAll() { await _columnInfoDapperRepository.ExecuteAsync("update ColumnInfos set IsDeleted = 1 where TenantId=@TenantId", new { AbpSession.TenantId }); }