我正在尝试在循环内使用事务范围。整个循环过程中只使用一个数据库连接。我正在使用Entity Framework 4进行数据库访问。在循环的第二次迭代期间,当执行LINQ to Entites查询时,会抛出一个异常,指出服务器上的MSDTC不可用。 我已经阅读了明确打开连接然后注册事务应该解决...
我正在使用SQL Server和ASP.NET。我有以下函数:Using js = daoFactory.CreateJoinScope() Using tran = New Transactions.TransactionScope() '... tr...
当我们需要在应用程序中进行数据库访问时,我们使用以下模式: 对于查询,我们有一个静态工厂类,其中包含一个名为CreateOpenConnection的方法,仅执行new SqlConnection(myConnectionString)和调用Open()。在进行查询之前调用此方法,并在查询...
我正在尝试使用一些环境事务范围(感谢Entity Framework),这是我以前没有做过的,我看到了一些奇怪的行为,我正在努力理解。 我正在尝试加入当前事务范围并在其成功完成后进行一些操作。我的加入参与者由于持有某些资源而实现IDisposable。我有一个简单的示例展示了奇怪的行为。 对于...
我正在使用:public class TransactionUtils { public static TransactionScope CreateTransactionScope() { var TransactionOptions = new Transa...
这是我事务范围源代码的当前架构。第三次插入引发了.NET异常(不是SQL异常),并且没有回滚前面的两个插入语句。我做错了什么? 编辑:我从insert2和insert3中移除了try/catch。我还从insert1的try/catch中移除了异常处理实用程序,并替换成了“throw ex”...
在NHibernate 3.0中,当仅在环境事务下运行(即未启动NHibernate事务)时,FlushMode.Auto无法工作。是否应该这样? using (TransactionScope scope = new TransactionScope()) { ISession ...
我正在使用TransactionScope在Linq to SQL中提交数据。我的问题是,如果我在同一个scope中使用多个SubmitChanges,在出现错误的情况下,是所有的scope都会回滚,还是只有最后一个SubmitChanges之后所做的更改会回滚?例如:using (Trans...
这段代码给我报错:事务已中止。 如果我移除一个嵌套的事务,就不会抛出异常。 using(var scope = new TransactionScope()) { repo.Insert(new Foo {Fname = "aaaa"}); usi...
使用TransactionScope相比IDbTransaction的优缺点是什么?下面是一些建议,请补充/更正列表。 TransactionScope的优势: TransactionScope支持分布式事务 - 您可以在一个事务中访问多个数据源或使用多个连接到一个数据源。 Transa...