我正在使用“TransactionScope”,需要在C#代码中执行一些DML操作,这部分我已经成功完成。但是我需要知道事务状态,也就是它是否已经成功完成? 基于事务的状态,如果事务已经完成,我需要将其重定向到另一个页面;否则,如果事务未能成功完成,我需要在页面上显示错误信息。 在以下代码行之...
我在处理事务范围和Entity Framework方面有些困难。 最初,我们希望应用程序中的所有连接在读取数据时都使用快照隔离级别,但在某些情况下,我们希望使用已提交或未提交的隔离级别来读取数据,为此,我们将使用事务范围临时更改查询的隔离级别(正如在几篇帖子和不同的博客中指出的那样)。 然...
我有一个例程,使用递归循环将项目插入到 SQL Server 2005 数据库中。启动循环的第一次调用是在 TransactionScope 中包含的。当我首次调用 ProcessItem 时,myItem 数据按预期插入到数据库中。但是,当从 ProcessItemLinks 或 Proce...
我对TransactionScope类很感兴趣。我认为它主要是用于数据库连接(我也是这样使用的)。 我的问题是,在TransactionScope的using-block中,你可以放入任何代码使其具有事务性吗?微软的文档没有明确说明。 如果它可以用于使除了数据库连接之外的代码具有事务性,那...
使用TransactionScope相比IDbTransaction的优缺点是什么?下面是一些建议,请补充/更正列表。 TransactionScope的优势: TransactionScope支持分布式事务 - 您可以在一个事务中访问多个数据源或使用多个连接到一个数据源。 Transa...
我的应用程序曾经出现过以下错误: 此 SQLTransaction 已完成;它不再可用 下面附上堆栈跟踪 - 它提到了 Zombie Check 和 Rollback。 代码中的错误是什么? 注意:这个错误只出现了一次。 更新 来自MSDN - SqlTransaction.R...
我正在处理来自GridView的事件中级联删除。这些删除操作都在一个事务中进行。下面是简化后的代码:protected void btnDeleteUser_Click(object sender, EventArgs e) { DataContext db; db = new...
这是我事务范围源代码的当前架构。第三次插入引发了.NET异常(不是SQL异常),并且没有回滚前面的两个插入语句。我做错了什么? 编辑:我从insert2和insert3中移除了try/catch。我还从insert1的try/catch中移除了异常处理实用程序,并替换成了“throw ex”...
我遇到了一个奇怪的问题,即事务只有在using退出时才会提交,而不是在调用scope.Complete();时提交。 using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew...
我查看了相关情况,验证后发现在下面的场景中,“myInt”的值并没有回滚。 int myInt = 10; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew)) { ...