在 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 提交或回滚事务相关推荐

  1. 更新丨.NET 7 预览版2 中的 ASP.NET Core

    点击上方蓝字  关注我们 (本文阅读时间:6分钟) .NET 7 预览版2 现已推出,其中包括对 ASP.NET Core 的许多重大改进. 以下是此预览版中新增内容的摘要: • 推断来自服务的 AP ...

  2. ASP.NET Core RESTful风格学习总结(五万字持续更新)

    ASP.NET Core RESTful风格学习总结持 项目设置: 项目依赖: Dependencies文件夹: Microsoft.NETCore.App: Microsoft.AspNetXore ...

  3. 小范笔记:ASP.NET Core API 基础知识与Axios前端提交数据

    跟同事合作前后端分离项目,自己对 WebApi 的很多知识不够全,虽说不必要学全栈,可是也要了解基础知识,才能合理设计接口.API,方便与前端交接. 晚上回到宿舍后,对 WebApi 的知识查漏补缺, ...

  4. EF Core事务提交,分布式事务

    控制事务 可以使用 DbContext.Database API 开始.提交和回滚事务. 以下示例显示了在单个事务中执行的两个 SaveChanges 操作以及一个 LINQ 查询: using va ...

  5. Asp.Net Core 2.0 之旅---数据访问仓储模式的事务管理

    之前在我的文章中,通过实例展示Asp.Net Core 2.0 之旅---AutoFac 仓储泛型的依赖注入,并在结尾处提到了事务的统一管理. 仓储的概念是DDD领域的一部分,仓储封装了获取数据的逻辑 ...

  6. 如何使用C#在ASP.NET Core中轻松实现QRCoder

    by Yogi 由瑜伽士 如何使用C#在ASP.NET Core中轻松实现QRCoder (How to easily implement QRCoder in ASP.NET Core using ...

  7. 【ASP.NET Core】解决“The required antiforgery cookie xxx is not present”的错误

    当你在页面上用 form post 内容时,可能会遇到以下异常: The required antiforgery cookie "????????" is not present ...

  8. 关于MVC与三层架构、个人总结网上杂七杂八得出的最终成果、asp.net (core) MVC、JavaWeb的MVC

    阅读本文必须明白的事情 首先需要明白的是不同语言实现的MVC与三层架构对应的层是不一样的!!! 拿.net来说,.net实现MVC与其他语言的MVC具体实现是不同的,asp.net MVC与 MVC ...

  9. ASP.NET Core 中文文档 第二章 指南(4.4)添加 Model

    原文:Adding a model 作者:Rick Anderson 翻译:娄宇(Lyrics) 校对:许登洋(Seay).孟帅洋(书缘).姚阿勇(Mr.Yao).夏申斌 在这一节里,你将添加一些类来 ...

最新文章

  1. 【转】Android真机抓屏- Android Screen Monitor
  2. QT发布中遇到的问题 - wufan的专栏 - 博客频道 - CSDN.NET
  3. 温州大学《机器学习》课程课件(一)
  4. R语言学习 - 图形设置中英字体
  5. 索引-bootsrap
  6. php 与结合struts2,Struts2和Ajax数据交互示例详解
  7. C#课外实践——校园二手平台(心得篇)
  8. 浅析ASP.NET HTTP Module
  9. android 导入 苹果手机,安卓手机文件怎么传到苹果手机
  10. Abaqus槽钢杆受力有限元分析
  11. pr导入srt字幕显示因文件头错误而不能打开,或pr导入字幕乱码
  12. 腾讯课堂直播: 手把手教你开发《3D街头篮球》
  13. Win10 系统时间同步失败解决方案
  14. Java 解析复杂表格excel
  15. 头盔-看完就不会买错的VR头盔攻略:VR头盔到底选哪个?
  16. 甲骨文CEO拉里-埃里森--硅谷最张扬最具争议的CEO
  17. 二代旅游CMS网站管理系统使用手册(三)--计调线路团期录入
  18. 《Learn python3 the hard way》ex14 Prompting and Passing
  19. 在GPT分区的磁盘上创建ESP分区图文教程
  20. 为什么要对数据进行归一化处理

热门文章

  1. 知识整理1----初次认知蓝牙
  2. “刷脸”技术不止于支付,各行各业都在“刷脸”
  3. 基于深度学习模型的花卉图像分类代码_实战 | 基于深度学习模型VGG的图像识别(附代码)...
  4. ATTCK实战系列—红队实战-4
  5. Python爬虫-爬取爆米花视频下载至本地
  6. 从订单到回款(O2C)
  7. 2019迪拜电子展-Gitex2019
  8. 雪糕刺客“钟薛高”,产品走红与商标息息相关?
  9. java合并单元格的快捷键_神奇的快捷键(一)
  10. 理解SQL语句中 Exists()