如何防止网页论坛脏写?
问题描述:
作为网络开发的学徒,我不知道如何防止网络论坛的肮脏写作。有什么想法吗?提前致谢!如何防止网页论坛脏写?
我正在研究ASP.NET MVC和实体框架。
好的,抱歉有误导性。这里的脏写意味着覆盖数据库中另一个人的更改。使用乐观并发。
答
要做到乐观并发在EF,你:
- 添加或选择一个字段,用于乐观并发控制。我们使用一个TIMESTAMP。
- 在EF设计器中,将并发模式更改为此属性的“固定”。
- 将该字段的“旧”值序列化为表单上的隐藏字段。
- 提交表单时反序列化“旧”值,并将其添加到要更新的实体中。
当更新过程中存储的值与旧值不匹配时,EF将抛出OptimisticConcurrencyException。