TransactionScope事务
一个错误的理解就是Complete()方法是提交事务的,这是错误的,事实上,它的作用的表示本事务完成,它一般放在try{}的结尾处,不用判断前台操作是否成功,如果不成功,它会自己回滚。
#region 事务问题
using (TransactionScope trans = new TransactionScope())
{
try
{
InsertUserBase(); //它插入不成功,自己回滚
UserInfos userInfo = new UserInfos
{
UserID = "1",
RealName = "zzl",
};
db.UserInfos.InsertOnSubmit(userInfo);
db.SubmitChanges();
trans.Complete();
}
catch (Exception)
{
// throw;
}
finally
{
trans.Dispose();
}
}
#endregion
TransactionScope事务的更多相关文章
- c#传统SqlTransaction事务和TransactionScope事务
事务有很多种,看了一些关于事务的问题,这里做下笔记····· 事务时单个的工作单位.如果某一事务成功,则在该事务中进行的所有数据更改均会提交,成为数据库中永久的组成部分.若果事务遇到错误,则必须取消或 ...
- C# TransactionScope 事务类
微软自带的TransactionScope(.Net Framework 2之后)是个好东东,提供的功能也很强大. 首先说说TransactionScope是什么,并能为我们做什么事情.其实看Tran ...
- EntityFramework与TransactionScope事务和并发控制
最近在园子里看到一篇关于TransactionScope的文章,发现事务和并发控制是新接触Entity Framework和Transaction Scope的园友们不易理解的问题,遂组织此文跟大家共 ...
- TransactionScope 事务使用说明
TransactionScope是.Net Framework 2.0滞后,新增了一个名称空间.它的用途是为数据库访问提供了一个“轻量级”[区别于:SqlTransaction]的事物.使用之前必须添 ...
- 导入Excel的时候使用TransactionScope事务控制来进行数据
最近,项目需要将Excel里面的数据导入到数据库里面,但是由于Excel里面的数据的合法性和数据格式的不确定性.所以不可能每读出一条数据,就保存到数据库中. 这就使用到了TransactionScop ...
- TransactionScope事务对多个数据库的操作
.Net 2.0引入了轻量级事务管理器(Lighweight Transaction Manager),即System.Transactions.TransactionManager. 轻量级事务管理 ...
- .Net TransactionScope事务
使用TransactionScope类 正如名称所暗示,TransactionScope类用于限定事务代码块,其具有一些明显优点,例如范围与应用程序对象模型无关,同时提供了一个简单直观的编程模型等等. ...
- TransactionScope事务使用
using (System.Transactions.TransactionScope T_Scope = new System.Transactions.TransactionScope()) { ...
- EF 多线程TransactionScope事务异常"事务EFTransaction类定义:与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。请重新运行该事务。"
解决方案代码一:使用lock锁定 //对于锁推荐使用静态私有静态变量 private readonly static object _MyLock = new object(); /// <su ...
随机推荐
- 用Oracle的TRIM函数去除字符串首尾指定字符
去掉首尾空格 SELECT TRIM(' abc '), ltrim(' abc '), rtrim(' abc ') FROM dual; 去掉首尾的其他字符 SELECT /*TRIM(';a;b ...
- Jersey Restful部署到Tomcat注意事项
新的Jersey版本,支持Servlet 3.x,与Servlet 2.x不一样 实现自定义的Application,使用@ApplicationPath("/")标注 @Appl ...
- iOS 设置connect超时
NSLock *theLock; [theLock lock]; int fd, error; struct sockaddr_in addr; ))<) { cout<<" ...
- tomcat运行问题解决方法
早上过来遇到一个非常奇怪的问题,运行一个新的项目,运行环境都没问题,可是在调试的时候,总是出错. 错误代码: log4j:WARN No appenders could be found for lo ...
- 检查REDO日志相关信息并生成HTML文件的脚本
生成HTML格式的文件 内容有: 检查数据库版本.REDO日志组情况, 最近20次日志切换频率检查--日志间的归档时间间隔, 这对查看数据库的IO繁忙时段 统计指定日期当天每小时的归档日志产生量--日 ...
- HTTP POST发消息
业务需求:模拟TANX给DSP发消息,protobuf数据已弄好. 代码: def PostDataToDSP(self,url,postdata): headers = { #taobao文档规定 ...
- Bootstrap-下拉框 Combobox
Bootstrap下拉框 Combobox显示效果如下: 源代码: <select class="combobox"> <option></optio ...
- 实战RPM包制作
在开发中经常会用到一些rpm包,但是一直没有自己手动制作过.今天在制作的时候意外地还解决了自己以前一直困惑的问题,就是怎么制作rpm debuginfo包,类似CentOS官网那样的debuginfo ...
- hi3531 SDK 编译 uboot, 改动PHY地址, 改动 uboot 參数 .
一,编译uboot SDK文档写得比較清楚了,写一下须要注意的地方吧. 1. 之前用SDK里和别人给的已经编译好的uboot,使用fastboot工具都刷不到板子上.最后自己用SDK里uboot源代码 ...
- Minimum Size Subarray Sum -- leetcode
题目描写叙述: Given an array of n positive integers and a positive integer s, find the minimal length of a ...