删除/更新数据记录时,在用户界面中处理并发

时间:2012-10-04 21:02:27

标签: c# entity-framework-5

我想知道在以下情况下我应该如何处理用户界面中的场景:

1。)用户删除已被其他用户删除的数据记录

当数据记录已被删除时,它将不再被删除,并且使用诸如“从表中删除Id = @IdToDelete”之类的内容,应该发生任何不好的事情。

但我不应该告诉我的用户:“抱歉,我们无法删除数据记录,因为它已被用户xyz删除了”??

2。)用户更新已被其他用户修改的数据记录? 我应该为我的所有update()场景显示一个具有新值和旧值的用户窗口,让他选择或决定最终会赢得什么?

2 个答案:

答案 0 :(得分:0)

1)一般来说,我不希望在这里向用户显示任何消息,因为从功能上他们要求完成的工作已经完成。

2)这是您经常收到有关尝试更新显示给用户的修改记录的警告。如何显示该警告很大程度上取决于您的用户要求以及您要显示的警告的复杂程度。最简单的解决方案是警告他们并要求他们刷新记录的本地副本,但这通常意味着他们需要重新进行更改,这对用户来说是一个挫折点。向他们展示冲突将是一个更好的用户体验,但可能会更复杂,特别是对于大型记录。

答案 1 :(得分:0)

1)信息来自哪里?如果您没有记录谁删除了什么记录,那么数据库就不会告诉您这些信息。

2)这取决于你的应用程序 - 有些情况下“最后的胜利”策略是正常的,有些情况下它不合适。如果存在冲突,您可以决定需要/想要做什么