asp.net core 系列之并发冲突的深入理解(2)

SET NOCOUNT ON; UPDATE [Department] SET [Name] = @p0 WHERE [DepartmentID] = @p1 AND [RowVersion] = @p2; SELECT [RowVersion] FROM [Department] WHERE @@ROWCOUNT = 1 AND [DepartmentID] = @p1;

前面的 代 码显 示包含 RowVersion 的 WHERE 子句。 如果数据 库 RowVersion 不等于 RowVersion 参数( @p2
), 则 不更新行。

@@ROWCOUNT 返回受上一 语 句影响的行数。 在没有行更新的情况下, EF Core 引 发
DbUpdateConcurrencyException

此文主要是为了方便自己记录学习,如有错误,欢迎指正

这里附上参考资料:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

EF Core 验证提取属性后是否未更改属性。 调用 SaveChanges 或 SaveChangesAsync 时会执行此检查。

如果提取属性后更改了属性,将引发 DbUpdateConcurrencyException。

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdsgzz.html