首页 > 其他分享 >ef.core 事务不回滚的我遇到的一种情况分享

ef.core 事务不回滚的我遇到的一种情况分享

时间:2023-08-15 21:55:05浏览次数:40  
标签:core storeItemRep RollBack ... ef trans inventoryRep 不回 saveChange

比如有几个Repository:_storeRep,_inventoryRep,_storeItemRep。基类封装有BeginTransaction();   using(var trans=_storeItemRep.BeginTransaction()){ try{ _storeRep.UpdateRange(...); _inventoryRep.Add(...); _storeItemRep.Add(...); _stroeRep.saveChange(); _inventoryRep.saveChange(); _storeItemRep.saveChange(); trans.RollBack();//这里专门不提交,便于测试。写rollBack,但是依然不会rollBack store和inventory。因为使用_storeItemRep打开事务 //第一个saveChange需要是_storeItemRep,而代码中它在最后了。所以这里不会RollBack。个人猜测,我就是这样改后,就能正常回滚了。 //要把开启事务的rep.saveChange()放到第一个。 } catch(ex){ trans.RollBack(); throw; } } 也许和使用的封装框架有关系,等有空自己试试,看是否通常情况都符合这种情况。

标签:core,storeItemRep,RollBack,...,ef,trans,inventoryRep,不回,saveChange
From: https://www.cnblogs.com/HelloQLQ/p/17632562.html

相关文章

  • Coremail AI实验室:利用高级语境和视觉智能进行钓鱼邮件检测
    在这个日益数字化的时代,对电子邮件安全需求是至关重要的。新兴的高级威胁邮件:应用社工技术的钓鱼邮件,仿冒公检法的钓鱼邮件等等,都需要更高级的防御策略。Coremail邮件安全人工智能实验室,整合了高级文本语境理解和智能图像处理能力,得以显著增强钓鱼邮件的检测能力,为千万级各行业终端......
  • 【Alibaba中间件技术系列】「RocketMQ技术专题」让我们一起探索一下DefaultMQPushCons
    推荐超值课程:点击获取RocketMQ开源是使用文件作为持久化工具,阿里内部未开源的性能会更高,使用oceanBase作为持久化工具。在RocketMQ1.x和2.x使用zookeeper管理集群,3.x开始使用nameserver代替zk,更轻量级,此外RocketMQ的客户端拥有两种的操作方式:DefaultMQPushConsumer和DefaultMQPu......
  • Codeforces Round 892 (Div. 2)
    CodeforcesRound892(Div.2)A.UnitedWeStand简述题意给定一个长度为$n$的数列$a$,要求将$a$的每个元素分配到数列$b$,$c$中,满足以下两个要求$b,c$不为空,即$l_b\geq1,l_c\geq1$。对于任意$i$和$j$$(1\leqi\leql_b,1\leq......
  • Codeforces Global Round 15
    CodeforcesGlobalRound15A-SubsequencePermutation思路:找出原串与排序后的串不同的个数#include<bits/stdc++.h>usingnamespacestd;voidsolve(){intn;cin>>n;strings;cin>>s;stringt=s;sort(t.begin(),t.end());intans=0;......
  • Firefox浏览器怎么设置HTTP代理
    Firefox浏览器是广受欢迎的开源浏览器,提供了丰富而灵活的功能。通过设置HTTP代理,我们可以实现隐私保护、突破网络限制或加速网页加载速度。下面,让我们一步步了解如何在Firefox浏览器中设置HTTP代理,让网络浏览更加自由与安心。第一步:打开Firefox浏览器的设置页面首先,打开Firefox浏览......
  • Codeforces Round 892 (Div. 2) A-E
    A.UnitedWeStand题意:给出一个长为\(n\)的数组\(a\),将其中的元素分别放到空数组\(b\)和\(c\)中,使得\(c\)中的任意一个元素都不是\(b\)中任意一个元素的因数,并且两个数组都不是空数组Solution把\(a\)中最小的数放到\(b\),其它的都放到\(c\),一定可以保证要求成立voidsolve(){......
  • 我的BIOS之行3-UEFI的简介
    UEFI的世界观如果有人对BIOS有兴趣,那么不得不提UEFI了。当然笔者这边只是代码与说明的搬运工,通过UEFI组织的官方文档来带大家了解UEFI。当然您要是觉得笔者就是个DB,想直接翻UEFI的文档,不想看笔者的瞎逼文章的话,请直接点击这里,自行下载看就是了。UEFI的简介文章开头就开始介绍......
  • 编译greenDao的时候出现KaptExecution:java.lang.reflect.InvocationTargetException
    一、概述在编译greendao的时候出现了以下异常。Executionfailedfortask':common_base:kaptDebugKotlin'.>Afailureoccurredwhileexecutingorg.jetbrains.kotlin.gradle.internal.KaptExecution>java.lang.reflect.InvocationTargetException(noerrormes......
  • 项目发布部署:如何发布.NETCore项目到IIS服务器?
    前言:本文将详细介绍如何发布.NETCore项目到IIS服务器。首先,第一步需要安装IIS,介绍了在本地电脑和服务器中进行安装。然后需要安装SDK和运行时才能发布.NETCore项目。其次介绍了如何发布.NETCore项目和Vue项目,并配置IIS。最后介绍了如何将项目部署到Service服务中。一、安装IIS教程......
  • 解析EFL文件中符号表读取
    符号表表头Linux中使用指令查看完整读取elf文件readelf-aexample.elfNum:ValueSizeTypeBindVisNdxName代表含义Num符号编号Value符号值,取决于上下文Size符号值Type符号类型,例如函数、对象、文件(源文件名称)、节(内存节)或未指定类型......