我正在处理几乎不存在的事务的遗留项目,这会在发生错误时导致大量的部分提交。 SQL调用是原始ADO,Linq到Entities和EntityFramework的混合,我想让它们在事务中运行。
要解决这个问题,我正在考虑沿着TransactionScope路线走下去。任何人都可以告诉我是否可以进行某种防护检查以确定在某个方法中是否从TransactionScope内部运行?在TransactionScope对象本身上使用属性或某种检查。最终目标是抛出某种有意义的异常并追踪缺少交易的区域。
由于
答案 0 :(得分:0)
如果您的代码在TransactionScope块内运行,则Transaction.Current != null
。您需要为System.Transactions添加一个using以及对System.Transactions.dll的引用。