【发布时间】:2014-11-21 08:32:00
【问题描述】:
我有一个可以从 win 表单访问的 Web 服务。 Web 服务访问数据库 (MS Sql) 以便根据用户在 winform 上的选择对表的行执行更新\删除\创建操作。
如果不同的用户运行 winform 并在同一个表行上执行更新会发生什么? 会被数据库锁定吗?
【问题讨论】:
标签: c# .net sql-server web-services
我有一个可以从 win 表单访问的 Web 服务。 Web 服务访问数据库 (MS Sql) 以便根据用户在 winform 上的选择对表的行执行更新\删除\创建操作。
如果不同的用户运行 winform 并在同一个表行上执行更新会发生什么? 会被数据库锁定吗?
【问题讨论】:
标签: c# .net sql-server web-services
这完全取决于两个连接的隔离级别。然而,天真地做,最终的结果是相当不可预测的。实际上,更改发生得很快,因此这是一种竞争条件,并且很难可靠地重现(用于测试等)。使用rowversion 之类的东西来检查并发/一致性可能是值得的——至少你可以预测结果。
【讨论】: