dos.orm也包含事务处理,没有太多封装,这里有几个简单的示例代码。

using (DbTrans trans = DbSession.Default.BeginTransaction())
{
DbSession.Default.Update<Products>(Products._.ProductName, "apple", Products._.ProductID == , trans);
DbSession.Default.Update<Products>(Products._.ProductName, "egg", Products._.ProductID == , trans);
trans.Commit();
}
trans.Commit(); 必须提交,不然就执行不成功了。 如果使用try catch的写法如下:
DbTrans trans = DbSession.Default.BeginTransaction();
try
{
DbSession.Default.Update<Products>(Products._.ProductName, "apple", Products._.ProductID == , trans);
DbSession.Default.Update<Products>(Products._.ProductName, "egg", Products._.ProductID == , trans);
trans.Commit();
}
catch
{
trans.Rollback();
}
finally
{
trans.Close();
}
insert、update、delete方法都提供了DbTransaction参数
所以也只是添加,修改,删除可以提交事务。 存储过程和直接sql执行也是可以添加事务的。 例如: DbTrans trans = DbSession.Default.BeginTransaction();
DbSession.Default.FromProc("Ten Most Expensive Products").SetDbTransaction(trans);
通过SetDbTransaction方法来添加事务。 FromSql也是一样。 也可以设置事务的级别,如下: DbTrans trans = DbSession.Default.BeginTransaction(IsolationLevel.ReadCommitted);

dos.orm的事务处理的更多相关文章

  1. Dos.ORM使用教程

    Dos.C#.Net使用 Dos.ORM(原Hxj.Data)于2009年发布,并发布实体生成工具.在开发过程参考了多个ORM框架,特别是NBear,MySoft.EF.Dapper等.吸取了他们的一 ...

  2. ORM系列之一:Dos.ORM

    阅读目录 引言 1.为什么使用Dos.ORM 2.配置 3.开始使用 3.1. 物理表 3.2. 实体类 3.3. 使用方法 引言 Dos.ORM(原名Hxj.Data)于2009年发布,2015年正 ...

  3. dos.orm学习地址

    os.ORM(原Hxj.Data)于2009年发布.2015年正式开源,该组件已在数百个成熟项目中应用,是目前国内.Net用户量最多.最活跃.最完善的国产ORM.初期开发过程参考了NBear与MySo ...

  4. Dos.ORM Select查询 自定义列

    自定义列 .Select( p = >new{ test = p.id}) // 同sql 列名 as 新列名 如下是 自己在写代码的例子,查询,分页,where条件,排序 var where ...

  5. dos.orm

    引言: Dos.ORM(原Hxj.Data)于2009年发布.2015年正式开源,该组件已在数百个成熟项目中应用,是目前国内用户量最大.最活跃.最完善的国产ORM.初期开发过程中参考了NBear与My ...

  6. Dos.ORM - 目录、介绍

    引言: Dos.ORM(原Hxj.Data)于2009年发布.2015年正式开源,该组件已在数百个成熟项目中应用,是目前国内用户量最大.最活跃.最完善的国产ORM.初期开发过程中参考了NBear与My ...

  7. Dos.ORM logo.Net轻量级开源ORM框架 Dos.ORM

    http://www.oschina.net/p/dos-orm http://www.oschina.net/project/lang/194/csharp http://www.cnblogs.c ...

  8. dos.ORM配置和使用

    处理oralce,sqlserver,access及其他常用数据库,下载和学习地址 1.web.config配置数据库连接字符串,以及数据库类型: <connectionStrings>& ...

  9. Dos.ORM修改数据遇到的问题

    2019年11月6日,今天使用Dos.ORM进行数据的批量修改,出现修改一条数据造成所有数据相应状态改变的情况,代码如下: 按照一步步调试的方式,排查出原因:生成的orm实体类缺少 主键 的标识,该原 ...

随机推荐

  1. nginx部署静态页面

    1.创建文件存放的目录: 2.vim nginx.conf    找到这个文件然后进入编辑模式 注:进入到文件后:点击a:可以编辑文件, server_name 127.0.0.1;    写上ip或 ...

  2. 用eclipce编写 MR程序 MapReduce

    package com.bw.mr; import java.io.IOException; import org.apache.hadoop.io.IntWritable; import org.a ...

  3. Django-5 模板层

    Django 模板层 在之前的例子中,我们采用了硬编码的方式,来返回文本 def current_datetime(request): now = datetime.datetime.now() ht ...

  4. icpc 南昌邀请赛网络赛 Subsequence

    题目链接:https://nanti.jisuanke.com/t/38232 就是判断输入是不是子序列 没想到贡献了将近十几次罚时..........可以说是菜的真实了 用cin cout超时了 改 ...

  5. 【XSY3370】道路建设 最短路

    题目大意 有一个完全图,边有边权. 对于每个 \(i\),求一棵生成树,使得( \(\sum_{j=1,j\neq i}^n\) \(j\) 到 \(i\) 的路径上边权最小值) 最小. \(n\le ...

  6. 解决pgpool启动报错 ifup[/sbin/ip] doesn't have setuid bit

    1.问题出现: 在centos7启动pgpool服务器报错ifup[/sbin/ip] doesn't have setuid bit 2018-11-25 01:14:14: pid 38122: ...

  7. CF487E Tourists--圆方树

    既然有这条性质,这题就很简单了: \(可能在a->b的简单路径上的点集,就是圆方树上a->b路径上方点代表的点双的并集\) 对每一个方点维护一个\(multiset\),代表其在圆方树上子 ...

  8. wqs二分

    今天模拟赛有一道林克卡特树,完全没有思路 赛后想了一想,不就是求\(k+1\)条不相交的链,使其权值之和最大嘛,傻了. 有一个最裸的\(DP\),设\(f[i][j][k]\)表示在以\(i\)为根的 ...

  9. 20175209 《Arrays和String单元测试》

    20175209 <Arrays和String单元测试> 题目 在IDEA中以TDD的方式对String类和Arrays类进行学习,测试相关方法的正常,错误和边界情况 String类 ch ...

  10. 深入了解SQL的四种连接&不然要命的!

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接.     内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 stude ...