C#事务相关
之前在程序中用到事务时,都是在存储过程中创建事务来对数据进行控制,其实在C#中也有事务类。
1、DbTransaction类对数据库访问添加事务,它是对数据库事务操作的基类,继承此类的有:
System.Object
System.MarshalByRefObject
System.Data.Common.DbTransaction
System.Data.EntityClient.EntityTransaction
System.Data.Odbc.OdbcTransaction
System.Data.OleDb.OleDbTransaction
System.Data.OracleClient.OracleTransaction
System.Data.SqlClient.SqlTransaction
2、System.Transactions命名空间下有两个类也可以用来事务的操作
分别是 TransactionScope和CommittableTransaction(继承自System.Transactions.Transaction)
在使用 System.Transactions 所提供的类开发事务应用程序时,不必考虑需要使用哪种事务,也不必考虑所涉及的事务管理器。 System.Transactions 基础结构会自动管理这些事宜。
System.Transactions 命名空间中的类所提供的基础结构通过支持在 SQL Server、ADO.NET、消息队列 (MSMQ) 和 Microsoft 分布式事务协调器 (MSDTC) 中启动的事务,使事务编程变得简单和高效。System.Transactions 命名空间提供基于 Transaction 类的显式编程模型和使用 TransactionScope 类的隐式编程模型,在后一种模型中,事务由该基础结构自动管理。
创建事务
System.Transactions 命名空间提供了两种用于创建事务的模型。下列主题对这两种模型进行了介绍。
描述 System.Transactions 命名空间如何支持使用 TransactionScope 类创建隐式事务。
使用 CommittableTransaction 执行显式事务
描述 System.Transactions 命名空间如何支持使用 CommittableTransaction 类创建显式事务。
TransactionScope是.Net Framework 2.0滞后,新增了一个名称空间。它的用途是为数据库访问提供了一个“轻量级”[区别于:SqlTransaction]的事物。使用之前必须添加对 System.Transactions.dll 的引用。
TransactionScope 类提供了一种简单方法,无需与事务自身进行交互,就可以在参与事务时对代码块进行标记。事务范围可以自动选择和管理环境事务。由于 TransactionScope 具有简单易用性和高效性,因此在开发事务应用程序时优先使用该类。
http://msdn.microsoft.com/zh-cn/library/system.transactions.transaction.aspx
http://msdn.microsoft.com/zh-cn/library/ms229973.aspx
http://msdn.microsoft.com/zh-cn/library/ms172152.aspx
http://www.cnblogs.com/jillzhang/archive/2008/02/20/1075057.html

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探