发文章
发文工具
撰写
网文摘手
文档
视频
思维导图
随笔
相册
原创同步助手
其他工具
图片转文字
文件清理
AI助手
留言交流
Transactionscope何时被提升为分布式事务,即时要触发msdtc服务,这个问题与数据库版本有关,在前面的文章中,我的MSTDC系列出现了多个版本,有一点没有说清楚,测试的环境不同,所以产生了多个版本,下面我做一下总结:
第二十六回 将不确定变为确定~transactionscope何时提升为分布式事务? 第二十七回 将不确定变为确定~transactionscope何时提升为分布式事务~续 第二十八回 将不确定变为确定~transactionscope何时提升为分布式事务~再续(避免引起不必要的MSDTC) 第二十九回 将不确定变为确定~transactionscope何时提升为分布式事务~大结局
第二十六回 将不确定变为确定~transactionscope何时提升为分布式事务?
第二十七回 将不确定变为确定~transactionscope何时提升为分布式事务~续
第二十八回 将不确定变为确定~transactionscope何时提升为分布式事务~再续(避免引起不必要的MSDTC)
第二十九回 将不确定变为确定~transactionscope何时提升为分布式事务~大结局
一 数据库与WWW服务器不在一台电脑,数据库为SQL2005,一个savechanges,才不会提升为MSDTC,这在之前已经做了证明,将不确定变为确定~transactionscope何时提升为分布式事务~大结局
二 数据库与WWW服务器不在一台电脑,数据库为SQL2008,多个数据上下文,多个savechanges,它也不会提升为MSDTC,这个比较强,原来MSDTC还与数据库版本有关,呵呵 ,将不确定变为确定~transactionscope何时提升为分布式事务~续
下面是对SQL2008上做的一个测试
using (TransactionScope trans = new TransactionScope()) { try { dbs.Entry<Classroom_Info>(entity); dbs.Set<Classroom_Info>().Add(entity); dbs.SaveChanges();//dbs上下文的SaveChanges //绑定学生 entity.User_Classroom_R.ToList().ForEach(i => { i.ClassroomInfoID = entity.ClassroomInfoID; }); //绑定学生 entity.User_Classroom_R.ToList().ForEach(i => { db.Entry<User_Classroom_R>(i); db.Set<User_Classroom_R>().Add(i); }); db.SaveChanges();//db上下文的savechanges trans.Complete();//提交事务 } catch (Exception) { trans.Dispose();//出现异常,事务手动释放 throw; } }
来自: 昵称10504424 > 《工作》
0条评论
发表
请遵守用户 评论公约
Entity Framework中的批量提交与分布式事务处理
Entity Framework中的批量提交与分布式事务处理。using (TransactionScope scope = new TransactionScope()){ //Do something with context1 //Do something with context2 //Save and discard c...
LINQ(数据库操作增、删、改及并发管理)
为了在数据库里创建新纪录,需要创建相应实体类的新实例,填充字段,把实体类加入 ObjectContext 派生类维护的 EntityCollection,然后调用 SaveChanges()写入新纪录:注意:Entity Framework 不会删...
【C#】Entity Framework 增删改查和事务操作
using (var scope = new TransactionScope()) { //执行多个操作 var user1 = new User { Name = "bomo", Age = 21, Gender = "male" }; db.User.Add(user1); db.SaveChanges(); va...
EF性能优化(一)
EF性能优化(一)1、EF SQL监控工具。2、EF使用SQlQuery 直接写sql.EF效率低于ADO.NET是因为LINQ-TO-SQL的过程消耗了时间。EF使用AsNoTr...
Audit Fields Using Entity Framework Code First ? Jonathan Creamer's Dev Diary
Audit Fields Using Entity Framework Code First ?EF Code First uses a class that inherits from a DbContext to storeall of the different Entities used in your application.public override in...
PyMySQL基本使用
高效分布式操作解决方案
这里为了消除分布式事务,引入消息队列和状态表事务1:[sql] view plain copy Begin Update user1 set account=account+$b; Put_queue...
基于可靠消息方案的分布式事务(三):Lottor使用
基于可靠消息方案的分布式事务(三):Lottor使用。User日志信息:1发送preCommit消息2开始创建Lottor事务组, 事务组 id 为【117289326...
C#提高知识 ADO.NET实体数据模型 (2)
using (OracleEntities entities = new OracleEntities()) { User uer = User.using (OracleEntities entities = new OracleEntities())...
微信扫码,在手机上查看选中内容