【问题标题】:How to test LINQ to SQL Conflict Management如何测试 LINQ to SQL 冲突管理
【发布时间】:2012-02-20 11:08:19
【问题描述】:

我在我的 Web 应用程序中实施了以下冲突管理解决方案:

Using transaction As New TransactionScope()
    Do
        Try 
            ' Make changes to the data'
            db.SubmitChanges()
            transaction.Complete()
            ' Exit the loop when no conflicts occurred'
            Exit Do 
        Catch conflictEx As ChangeConflictException
            For Each prob As ObjectChangeConflict
                In manager.db.ChangeConflicts

                prob.Resolve(
                    RefreshMode.OverwriteCurrentValues)
            Next
        End Try
    Loop
End Using

本质上,如果其他人在数据仍在处理时快速更改数据,程序应该重新读取所有数据并从头开始重新计算更改。

但我无法找到任何方法来测试此冲突管理解决方案。我尝试在 transaction.Complete() 之前设置断点并在 Visual Studio 中修改表数据,但是在设置断点时它一直显示超时错误。

还有其他可靠的测试方法吗?

添加:还尝试插入 Thread.Sleep(10000) 调用并更改 VS 中的数据 - VS 查询似乎会冻结,直到线程睡眠调用完成。

【问题讨论】:

    标签: .net vb.net linq linq-to-sql conflict


    【解决方案1】:

    您是否尝试过在 (submitChanges) 之前实例化一个新的数据上下文并更新该上下文的数据以保存它,然后允许第一个数据上下文提交其更改?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多