我确信这是一个非常基本的问题,但我在谷歌上也找不到任何解决方案。
当我尝试使用该代码块时,它会抛出一个异常,即using语句中使用的'System.Activities.Statements.TransactionScope':类型必须隐式转换为'System.IDisposable‘
using (TransactionScope trans = new TransactionScope()) { }
简单地说,我想在Linq代码中使用TransactionScope。
谢谢,致以问候
发布于 2011-01-13 22:33:55
您可能使用了错误的TransactionScope。
您要查找的是System.Transactions.TransactionScope,它驻留在System.Transactions.dll程序集中。确保它被引用(默认情况下不是),并且您是"using System.Transactions“。
发布于 2011-01-13 22:33:34
我不知道System.Activities.Statements.TransactionScope是什么,但你想要System.Transactions.TransactionScope。您还需要对System.Transactions.dll的引用。
从文档中:
public sealed class TransactionScope : IDisposable请注意,System.Activities.Statements.TransactionScope位于System.Activities.Statements中,其描述为
System.Activities.Statements命名空间包含可用于创建工作流的活动。此命名空间包含用于流控制、与集合和变量交互、异常、补偿、事务以及与旧工作流交互的活动。
这显然是不合适的。
发布于 2011-01-13 22:33:16
您正在使用错误的TransactionScope类。右边的是System.Transactions名称空间。您的错误表明您正在使用来自System.Activities.Statements的另一个类。
https://stackoverflow.com/questions/4681118
复制相似问题