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操作 适用场景:实现过 ...
随机推荐
- 使用tpcc-mysql进行性能测试
tpcc-mysql的github地址:https://github.com/Percona-Lab/tpcc-mysql tpcc-mysql源代码进行编译,服务器上需要安装有mysql git c ...
- activiti explorer5.22.0源代码解读
请求通过ExplorerApplicationServlet(AbstractApplicationServlet.service()方法)进入web系统中. Activiti Explorer的应用 ...
- java与xml转换 -- XStreamAlias
@XStreamAlias 1.特点 简化的API; 无映射文件; 高性能,低内存占用; 整洁的XML; 不需要修改对象;支持内部私有字段,不需要setter/getter方法 提供序列化接口; 自定 ...
- 22.Windows及linux下gerapy使用
Windows安装 gerapy1.pip install gerapy2.gerapy init 3.cd gerapy(切换目录到gerapy文件夹)4.gerapy migrate5.gerap ...
- 47.纯 CSS 创作一个蝴蝶标本展示框
html,body{ margin:; padding:; } body{ height: 100vh; display: flex; justify-content: center; align-i ...
- spark核心原理
spark运行结构图如下: spark基本概念 应用程序(application):用户编写的spark应用程序,包含驱动程序(Driver)和分布在集群中多个节点上运行的Executor代码,在执行 ...
- [Python]实践:实现探测Web服务质量
来源:Python 自动化运维 技术与最佳实践 HTTP服务是最流行的互联网应用之一,服务质量的好坏关系到用户体验以及网站的运营服务水平,最常用的有两个标准:1.服务的可用性,比是否处于正常提供服务状 ...
- 页面适应电脑和手机屏幕initial-scale 1:0 user-scalable=yes
2017年09月25日 11:30:27 Goddess_liangyanli 阅读数:7324 标签: 手机 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...
- UE常用快捷键使用
进入列模式Alt+c 小写转大写Alt+F5
- Vue.js Failed to resolve filter: key
转自:https://stackoverflow.com/questions/35835214/vue-js-failed-to-resolve-filter-key I am following t ...