Linq to sql 之 事务
描述:linq 是自带事物的.如果建了两个linq to sql 类,各自访问不同的数据库,事物如何保证呢.
验证:采用常用的COM+事务来验证一下是否有效.
ServiceConfig config = new ServiceConfig();
config.Transaction = TransactionOption.Required;
ServiceDomain.Enter(config);
try
{
OA_TAB_LVBAL lvbal = dbHr.OA_TAB_LVBAL.SingleOrDefault(p => p.OA_LV_LEAVECODE == leaveCode && p.OA_LV_STAFFNO == staffNo && p.OA_LV_STARTDATE == balEndDate.AddYears(-) && p.OA_LV_ENDDATE == balEndDate);
if (lvbal == null)
{
lvbal = new OA_TAB_LVBAL();
lvbal.OA_LV_STAFFNO = staffNo;
lvbal.OA_LV_ADJUSTMENT = ;
//需判断文职或非文职
lvbal.OA_LV_ASSIGNEDDAYS = ;
lvbal.OA_LV_ENDDATE = balEndDate;
lvbal.OA_LV_LEAVECODE = "AL";
lvbal.OA_LV_REMARK = DateTime.Now.ToString() + "Insert";
lvbal.OA_LV_STARTDATE = balEndDate.AddYears(-);
dbHr.OA_TAB_LVBAL.InsertOnSubmit(lvbal);
dbHr.SubmitChanges(); } OA_TAB_CONTRACT_TASKS task = new OA_TAB_CONTRACT_TASKS();
task.DOC_ID = "";
task.TASK_COMPLETEDATE = DateTime.Now;
task.TASK_EXECUTOR = "";
task.TASK_ID = ;
task.TASK_NAME = "test";
task.TASK_STARTDATE = DateTime.Now;
task.TASK_STATUS = ;
task.TASK_TYPE = "BZ";
dbOa.OA_TAB_CONTRACT_TASKS.InsertOnSubmit(task);
dbOa.SubmitChanges();
ContextUtil.SetComplete();
}
catch (Exception ex)
{
ContextUtil.SetAbort();
throw ex;
}
finally
{
ServiceDomain.Leave();
}
向HR的数据库中oa_tab_lvbal 及OA的OA_TAB_CONTRACT_tasks 分别insert 一条记录.
1:执行成功,表中多了一条数据
2: 删除oa_tab_lvbal中插入的数据
3:执行,task表中插入时会抛出异常. 期望结果:oa_tab_lvbal中的记录也插入不成功.
4:验证通过.
Linq to sql 之 事务的更多相关文章
- <转>LINQ To SQL 语法及实例大全
一篇很全很强大的linq to sql 总结 来源:http://blog.csdn.net/pan_junbiao/article/details/7015633 目录(?)[-] LINQ to ...
- LINQ to SQL语句(13)之开放式并发控制和事务
Simultaneous Changes开放式并发控制 下表介绍 LINQ to SQL 文档中涉及开放式并发的术语: 术语 说明 并发 两个或更多用户同时尝试更新同一数据库行的情形. 并发冲突 两个 ...
- Linq to sql并发与事务
本文转载:http://www.cnblogs.com/lovecherry/archive/2007/08/20/862365.html 检测并发 首先使用下面的SQL语句查询数据库的产品表: se ...
- 年终巨献 史上最全 ——LINQ to SQL语句
LINQ to SQL语句(1)之Where 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句.Where操 ...
- LINQ to SQL语句(19)之ADO.NET与LINQ to SQL
它基于由 ADO.NET 提供程序模型提供的服务.因此,我们可以将 LINQ to SQL 代码与现有的 ADO.Net 应用程序混合在一起,将当前 ADO.NET 解决方案迁移到 LINQ to S ...
- LINQ To SQL
议程 1.LINQ To SQL概述 2.LINQ To SQL对象模型 3.LINQ To SQL查询 用到的数据库 SQL Server 2005,数据库名为Test. 两张表,分别为Studen ...
- LINQ TO SQL 大全
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 LINQ to SQL语句(1)之Where 适用场景: ...
- LINQ to SQL大全
LINQ to SQL语句 (1)之Where Where操作 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的 ...
- [转]LINQ To SQL 语法及实例大全
转载自:http://blog.csdn.net/pan_junbiao/article/details/7015633 LINQ to SQL语句(1)之Where Where操作 适用场景:实现过 ...
随机推荐
- Python :数据结构
LearnPython :数据结构 .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .labe ...
- anchor values list
- getent passwd 不能访问到 ldap 的用户
getent passwd 不能访问到 ldap 的用户,搞了一整个下午! 依然没搞定, 一开始是不知道nslcd 需要启动,另外getent passwd 域, 无有用结果, 换个方式搜索 get ...
- 监控hdfs 块迁移数量脚本及 metasave 日志内容详解
把以下脚本配置到 crontab 下 ,10分钟一次,进行打点,记录复制块的进度. 想让节点快速退役(下线)的方法可以参考我的 https://www.cnblogs.com/jiangxiaoxia ...
- webform之Repeater控件
一.Repeater控件 数据循环编辑 1.repeater包括五大模板: (1)HeaderTemplate:标题模板,对开头进行编辑,只执行一次 (2)FooterTemplate:页尾结束模板, ...
- 机器学习进阶-直方图与傅里叶变化-直方图均衡化 1.cv2.equalizeHist(进行直方图均衡化) 2. cv2.createCLAHA(用于生成自适应均衡化图像)
1. cv2.equalizeHist(img) # 表示进行直方图均衡化 参数说明:img表示输入的图片 2.cv2.createCLAHA(clipLimit=8.0, titleGridSiz ...
- JEECG 新手常见问题大全,入门必读
大家还有什么问题,请跟帖,谢谢支持.. JEECG常见问题大全 原文地址:http://t.cn/RvYsEF61. jeecg数据库脚本问题 注意:jeecg3.5.2之前版本,不需要数据库脚 ...
- map转换成JSON的3种方法
http://www.json.cn/JSON格式校验 1 json-lib <dependency> <groupId>net.sf.json-lib</groupId ...
- ReactiveX 学习笔记(18)使用 RxJS + Angular 调用 REST API
JSON : Placeholder JSON : Placeholder (https://jsonplaceholder.typicode.com/) 是一个用于测试的 REST API 网站. ...
- Cookie-base 认证实现(学习笔记)
第一步 新建一个ASP.NET core 默认项目 新建 AdminController public class AdminController : Controller { [Authorize] ...