我必须使用一个企业类,该类在每个 Commit()
之后重新使用或重新创建事务或Rollback()
。此类被告知通过 Boolean
使用(或不使用)事务。向量参数。
我正在考虑包装此 API 以分离事务支持(显式依赖 Transaction 对象或环境 TransactionScope
)。但这需要一个可重用的事务类。 .NET中有这样的类吗?或者我将如何开始开发自己的?
最佳答案
不,事务一旦提交或回滚就不可重用(并且我相信在提交或回滚后尝试访问它们将引发异常)。
我的建议是忘记尝试为 TransactionScope 创建包装器,因为它实际上并没有提供任何值,因为 TransactionScope 模型一开始就是隐式的(并且它是它自己的包装器)。只需在需要事务处理的事物周围添加 using (TransactionScope ts = new TransactionScope())
语句即可。使用 TransactionScope,每个数据库调用都具有隐含的事务支持。
关于.net - 我可以重复使用交易吗?如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/426212/