首页 > 其他分享 >Abp.VNext-SaveChanges事务提交

Abp.VNext-SaveChanges事务提交

时间:2024-11-19 17:56:22浏览次数:1  
标签:VNext blog 代码 await Id Abp var SaveChanges blogRepository

var blog = await _blogRepository.InsertAsync(ObjectMapper.Map<AddBlogInputDto, Blog>(inputDto));

//查询不到数据,返回null
var newblog = await _blogRepository.FindAsync(blog.Id); 

//加上此行代码后,若插入异常,执行此行代码后回滚并且不会再往下走
//不加此代码,若插入异常会继续往下执行
await CurrentUnitOfWork.SaveChangesAsync();

//能查询到数据,但是此条数据其实未入库,等整个最外层结束之后才入库
var newblog1 = await _blogRepository.FindAsync(blog.Id); 

return blog.Id;

requiresNew:是否支持嵌套事务

isTransactional:是否开启数据库事务

using var uow = _unitOfWorkManager.Begin(requiresNew: true, isTransactional: true);

var blog = await _blogRepository.InsertAsync(ObjectMapper.Map<AddBlogInputDto, Blog>(inputDto));

//若插入异常,执行完这行代码则回滚且不会再往下走
await uow.SaveChangesAsync();

//虽然数据还未入库,但执行此行代码能查询到数据信息
var newblog = await _blogRepository.FindAsync(blog.Id);

//若执行此行代码之前无异常,执行完此行代码后数据便已入库,
await uow.CompleteAsync();

return blog.Id;

标签:VNext,blog,代码,await,Id,Abp,var,SaveChanges,blogRepository
From: https://www.cnblogs.com/mingcore/p/18555347

相关文章

  • Abp.VNext-拆分查询
    Abp默认采用的是拆分查询,优点是提高性能,缺点是使用Linq进行多表关联操作时打印查询字符串得到的SQL语句是单表查询语句。而实际上代码执行的是多表关联查询,容易误导开发人员。例如下列LINQ查询是多表关联,但是得到的查询字符串是单表操作。varquery=(await_blogRepository.G......
  • Abp.VNext-显示加载实体导航属性
    方式一:为实体配置默认导航并设置includeDetails属性为true[DependsOn(typeof(AbpEntityFrameworkCoreMySQLModule))]publicclassEntityFrameworkCoreModule:AbpModule{publicoverridevoidConfigureServices(ServiceConfigurationContextcontext){Co......
  • Abp.VNext-数据过滤
    如何实现软删除数据查询过滤实体类继承ISoftDelete接口后,查询获取到的返回结果将不包含已删除的数据。如何关闭软删除数据过滤全局方式关闭软删除数据过滤EntityFrameworkCoreModule模块类中使用。[DependsOn(typeof(AbpEntityFrameworkCoreMySQLModule))]publicclassEnti......
  • Abp.VNext-统一配置UTC时区时间
    PreConfigureServices方法重载并添加如下代码[DependsOn(typeof(AbpAutofacModule),typeof(AbpAspNetCoreMvcModule),)]publicclassApiHostModule:AbpModule{publicoverridevoidPreConfigureServices(ServiceConfigurationContextcontext)......
  • Antd 4.x Tabs组件 将末尾TabPane固定在右侧
    将最后一个TabPane固定在右侧先看效果代码样式设置注意先看效果代码 <TabPanetitle="Tab1"> </TabPane> <TabPanetitle="Tab2"> </TabPane> <TabPanetitle="Tab3"</......
  • Abp-工作单元应用场景注意事项
    Abp-工作单元应用场景注意事项事务工作单元=数据库事务+工作单元事务。Controller[ApiController][Route("[controller]")]publicclassBlogController:AbpController{privateBlogAppService_blogAppService=>LazyServiceProvider.LazyGetRequiredService<BlogA......
  • .NET 平台 WPF 通用权限开发框架 (ABP)
    前言对于大多数.NET后端开发者而言,ABP框架已经相当熟悉,可以轻松进行二次开发,无需重复实现用户角色管理、权限控制、组织管理和多租户等功能。然而,ABP框架主要专注于Web应用,对于桌面端和移动设备的支持较为有限。因此,对于有桌面或移动开发需求的开发者来说,可能需要寻找其他解决方......
  • Abp-VNext用户权限管理系列文章---工作流
    一、工作流的使用1、工作流定义图,我们定义了一个订单的工作审批流2、创建的可以审批的用户,密码都为Bridge0发起流程:用户wf_order_creator  订单创建员采购科员审核:角色:采购科员  用户:wf_order_officer  +订单审核科员采购科长审核: wf_order_deptHead  订单审核......
  • 使用Radzen Blazor组件库开发的基于ABP框架炫酷UI主题
    一、项目简介使用过ABP框架的童鞋应该知道它也自带了一款免费的BlazorUI主题,它的页面是长这样的:个人感觉不太美观,于是网上搜了很多Blazor开源组件库,发现有一款样式非常不错的组件库,名叫:Radzen,它的组件库案例网址是:SampleBlazorDashboard|FreeUIComponentsbyRadzen,比较......
  • ABP VNext 系列:框架启动流程以及依赖注入原理和源码分析
    简单介绍ABPVNextGithub地址:https://github.com/abpframework/abp官网文档地址:https://abp.io/docs/latest官网:https://abp.io/ABPVNext框架是一个基于ASP.NETCore的完整基础架构,也就是我们现在称的ABP框架,它遵循软件开发最佳实践和最新技术来创建现代Web应用程......