asp.net core TransactionScope 提交或回滚事务
在 efcore 中如果 有多次 保存,如果 没有 TransactionScope。 成功的保存 就会真正的保存在数据库中,业务 可能是 如果 在代码段中 仅有一次 错误,则全部 回滚。 那么就要 用上 TransactionScope
看 如下 代码
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.Transactions;namespace aspnetcore011.Controllers
{[Route("api/[controller]/[action]")][ApiController]public class Test2Controller : ControllerBase{private MyDBcontex db;public Test2Controller(MyDBcontex db){this.db = db;}[HttpGet]public string GetStr(){//TransactionScopeAsyncFlowOption.Enabled参数才能 支持同步和异步using (TransactionScope ts = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)){//下面 这个没有问题 如果没有TransactionScope 下面没问题的会保存到数据库this.db.Books.Add(new Book { Title = ".netcore" });db.SaveChanges();//假设下面 出错。 TransactionScope会回滚 上面保存成功的。db.Persons.Add(new Person { Name = "张三" });db.SaveChanges();//全部成功 才 提交事务ts.Complete();}return "ok";}}
}
使用的方法 就是 需要 using(TransactionScope) {} 这 using的代码块中 如果 有任何 错误,全部就会回滚 如果没有任何 错误 ts.Complete(); 会提交事务
但 TransactionScope 不局限在 efcore中 如 文件读写 等操作。
asp.net core TransactionScope 提交或回滚事务相关推荐
- 更新丨.NET 7 预览版2 中的 ASP.NET Core
点击上方蓝字 关注我们 (本文阅读时间:6分钟) .NET 7 预览版2 现已推出,其中包括对 ASP.NET Core 的许多重大改进. 以下是此预览版中新增内容的摘要: • 推断来自服务的 AP ...
- ASP.NET Core RESTful风格学习总结(五万字持续更新)
ASP.NET Core RESTful风格学习总结持 项目设置: 项目依赖: Dependencies文件夹: Microsoft.NETCore.App: Microsoft.AspNetXore ...
- 小范笔记:ASP.NET Core API 基础知识与Axios前端提交数据
跟同事合作前后端分离项目,自己对 WebApi 的很多知识不够全,虽说不必要学全栈,可是也要了解基础知识,才能合理设计接口.API,方便与前端交接. 晚上回到宿舍后,对 WebApi 的知识查漏补缺, ...
- EF Core事务提交,分布式事务
控制事务 可以使用 DbContext.Database API 开始.提交和回滚事务. 以下示例显示了在单个事务中执行的两个 SaveChanges 操作以及一个 LINQ 查询: using va ...
- Asp.Net Core 2.0 之旅---数据访问仓储模式的事务管理
之前在我的文章中,通过实例展示Asp.Net Core 2.0 之旅---AutoFac 仓储泛型的依赖注入,并在结尾处提到了事务的统一管理. 仓储的概念是DDD领域的一部分,仓储封装了获取数据的逻辑 ...
- 如何使用C#在ASP.NET Core中轻松实现QRCoder
by Yogi 由瑜伽士 如何使用C#在ASP.NET Core中轻松实现QRCoder (How to easily implement QRCoder in ASP.NET Core using ...
- 【ASP.NET Core】解决“The required antiforgery cookie xxx is not present”的错误
当你在页面上用 form post 内容时,可能会遇到以下异常: The required antiforgery cookie "????????" is not present ...
- 关于MVC与三层架构、个人总结网上杂七杂八得出的最终成果、asp.net (core) MVC、JavaWeb的MVC
阅读本文必须明白的事情 首先需要明白的是不同语言实现的MVC与三层架构对应的层是不一样的!!! 拿.net来说,.net实现MVC与其他语言的MVC具体实现是不同的,asp.net MVC与 MVC ...
- ASP.NET Core 中文文档 第二章 指南(4.4)添加 Model
原文:Adding a model 作者:Rick Anderson 翻译:娄宇(Lyrics) 校对:许登洋(Seay).孟帅洋(书缘).姚阿勇(Mr.Yao).夏申斌 在这一节里,你将添加一些类来 ...
最新文章
- 【转】Android真机抓屏- Android Screen Monitor
- QT发布中遇到的问题 - wufan的专栏 - 博客频道 - CSDN.NET
- 温州大学《机器学习》课程课件(一)
- R语言学习 - 图形设置中英字体
- 索引-bootsrap
- php 与结合struts2,Struts2和Ajax数据交互示例详解
- C#课外实践——校园二手平台(心得篇)
- 浅析ASP.NET HTTP Module
- android 导入 苹果手机,安卓手机文件怎么传到苹果手机
- Abaqus槽钢杆受力有限元分析
- pr导入srt字幕显示因文件头错误而不能打开,或pr导入字幕乱码
- 腾讯课堂直播: 手把手教你开发《3D街头篮球》
- Win10 系统时间同步失败解决方案
- Java 解析复杂表格excel
- 头盔-看完就不会买错的VR头盔攻略:VR头盔到底选哪个?
- 甲骨文CEO拉里-埃里森--硅谷最张扬最具争议的CEO
- 二代旅游CMS网站管理系统使用手册(三)--计调线路团期录入
- 《Learn python3 the hard way》ex14 Prompting and Passing
- 在GPT分区的磁盘上创建ESP分区图文教程
- 为什么要对数据进行归一化处理
热门文章
- 知识整理1----初次认知蓝牙
- “刷脸”技术不止于支付,各行各业都在“刷脸”
- 基于深度学习模型的花卉图像分类代码_实战 | 基于深度学习模型VGG的图像识别(附代码)...
- ATTCK实战系列—红队实战-4
- Python爬虫-爬取爆米花视频下载至本地
- 从订单到回款(O2C)
- 2019迪拜电子展-Gitex2019
- 雪糕刺客“钟薛高”,产品走红与商标息息相关?
- java合并单元格的快捷键_神奇的快捷键(一)
- 理解SQL语句中 Exists()