记录更新,并且在此过程中不允许其他任何更新采取并更新该记录

时间:2017-07-08 17:53:27

标签: entity-framework

我正在使用Entity Framework开发网站。

我在这里遇到的问题是客户端选择1条记录并更新它,但是如果有另一个客户端运行相同的选择查询,则db将返回之前选择的相同记录并重写。

我该如何避免这种情况?无论如何我可以选择一个记录而不记录其他任何记录吗?

1 个答案:

答案 0 :(得分:0)

  

我该如何避免这种情况。无论如何我可以选择一个记录而不记录其他任何记录吗?

你需要实现一致的管理:

  • 您的表必须有行版本列。当用户查询数据时,您会沿着数据发送行版本。
  • 您用户的每次更新都必须包含行版本。
  • 如果行版本与存储在数据库中的当前值不同,则抛出异常。
  • 如果行版本与表中存储的版本相同,则更新数据并重新生成行版本列。

实体框架使得处理并发变得容易,只需看看这个tutorial即可。它会对你有所帮助。