1

作为网络开发的学徒,我不知道如何防止网络论坛的脏写。有没有值得深思的地方?提前致谢!

我正在研究 ASP.NET MVC 和实体框架。

好的,抱歉误导了。这里的脏写是指覆盖数据库中另一个人的更改。在使用乐观并发时。

4

1 回答 1

2

要在 EF 中进行乐观并发,您:

  1. 添加或选择用于乐观并发控制的字段。我们使用 TIMESTAMP。
  2. 在 EF 设计器中,将此属性的 ConcurrencyMode 更改为 Fixed。
  3. 将字段的“旧”值序列化为表单上的隐藏字段。
  4. 提交表单时反序列化“旧”值,并将其添加到您正在更新的实体中。

当更新期间存储的值与旧值不匹配时,EF 将抛出 OptimisticConcurrencyException。

于 2009-11-03T15:28:52.263 回答