EF 事务(非分布式事务)

简介: 在EF 中怎么使用事务?这个问题纠结了我好久,直到有人跟我一起讨论,我和同事一起讨论查资料。查的好多资料都是使用 TransactionScope,用 TransactionScope 可处理分布式事务。

在EF 中怎么使用事务?

这个问题纠结了我好久,直到有人跟我一起讨论,我和同事一起讨论查资料。

查的好多资料都是使用 TransactionScope,用 TransactionScope 可处理分布式事务。

using (TransactionScope scope = new TransactionScope())  
{  
  //具体代码内容
    scope.Complete();  
}  

这种方式可处理分布式事务。
而我在实际使用中是没法使用的。

所以我就一直找其他的方式,无意中看到某个网站的的database,然后我就采用了下面的方式:

using (var dbContext = new TopOnlineDbContext())
            {
                using (var scope = dbContext.Database.BeginTransaction())
                {
                    try
                    {
                        if (ids != null)
                        {
                            foreach (var id in ids)
                            {
                                T t = dbContext.Find<T>(id);
                                assfeedback.IsDel = true;
                                dbContext.Update<T>(t);
                            }
                        }
                        scope.Commit();//正常完成就可以提交
                        return 0;
                    }
                    catch (Exception ex)
                    {
                        scope.Rollback();//发生异常就回滚
                        return -1;
                    }
                }
            }

转载的别人的:原文链接:http://www.cnblogs.com/dawenyang/p/5664597.html

@陈卧龙的博客

相关文章
|
8天前
|
运维 监控 Java
Spring Cloud Alibaba分布式事务问题之事务commit失败如何解决
Spring Cloud Alibaba提供了一套在Spring Cloud框架基础上构建的微服务解决方案,旨在简化分布式系统的开发和管理;本合集将探讨Spring Cloud Alibaba在实际应用中的部署和使用技巧,以及该框架常见问题的诊断方法和解决步骤。
|
8月前
|
Oracle 关系型数据库 分布式数据库
OBCP第五章 分布式事务高级技术-分布式两阶段提交
OBCP第五章 分布式事务高级技术-分布式两阶段提交
74 0
|
8月前
|
Oracle 关系型数据库 MySQL
第四章:OceanBase集群技术架构(分布式事务、MVCC、事务隔离级别)
第四章:OceanBase集群技术架构(分布式事务、MVCC、事务隔离级别)
282 0
|
8月前
|
消息中间件 存储 中间件
常用本地事务和分布式事务解决方案模型 2
常用本地事务和分布式事务解决方案模型
52 1
|
8月前
|
算法 关系型数据库 API
常用本地事务和分布式事务解决方案模型 1
常用本地事务和分布式事务解决方案模型
46 1
|
8天前
|
消息中间件 Dubbo 应用服务中间件
分布式事物【Hmily实现TCC分布式事务、Hmily实现TCC事务、最终一致性分布式事务解决方案】(七)-全面详解(学习总结---从入门到深化)
分布式事物【Hmily实现TCC分布式事务、Hmily实现TCC事务、最终一致性分布式事务解决方案】(七)-全面详解(学习总结---从入门到深化)
93 0
|
8月前
|
SQL OceanBase Python
OBCP第五章 分布式事务高级技术-分布式两阶段提交
OBCP第五章 分布式事务高级技术-分布式两阶段提交
138 0
|
8天前
|
Dubbo 应用服务中间件 微服务
分布式事物【Hmily实现TCC分布式事务、Hmily实现TCC事务、最终一致性分布式事务解决方案】(七)-全面详解(学习总结---从入门到深化)(上)
分布式事物【Hmily实现TCC分布式事务、Hmily实现TCC事务、最终一致性分布式事务解决方案】(七)-全面详解(学习总结---从入门到深化)
56 1
|
8天前
|
消息中间件 Java 关系型数据库
Spring事务与分布式事务
这篇文档介绍了事务的概念和数据库事务的ACID特性:原子性、一致性、隔离性和持久性。在并发环境下,事务可能出现更新丢失、脏读和不可重复读等问题,这些问题通过设置事务隔离级别(如读未提交、读已提交、可重复读和序列化)来解决。Spring事务传播行为有七种模式,影响嵌套事务的执行方式。`@Transactional`注解用于管理事务,其属性包括传播行为、隔离级别、超时和只读等。最后提到了分布式事务,分为跨库和跨服务两种情况,跨服务的分布式事务通常通过最终一致性策略,如消息队列实现。
|
8天前
|
消息中间件 RocketMQ Docker
分布式事物【RocketMQ事务消息、Docker安装 RocketMQ、实现订单微服务、订单微服务业务层实现】(八)-全面详解(学习总结---从入门到深化)
分布式事物【RocketMQ事务消息、Docker安装 RocketMQ、实现订单微服务、订单微服务业务层实现】(八)-全面详解(学习总结---从入门到深化)
58 0