Asp.net mvc 4 如何在MVC项目中通过EF更新Oracle视图时管理并发性?

Asp.net mvc 4 如何在MVC项目中通过EF更新Oracle视图时管理并发性?,asp.net-mvc-4,view,concurrency,oracle10g,Asp.net Mvc 4,View,Concurrency,Oracle10g,我的MVC4应用程序使用实体框架5作为其ORM。 并使用Oracle 10数据库作为其后端。 MVC视图显示来自Oracle DB视图的数据,我无法控制数据库模式。 视图是可更新的,并且还需要管理并发性。基础表/视图中没有时间戳类型的列。 在这种情况下,如何管理并发性 如果您对此有任何建议,我们将不胜感激。很抱歉,我的回答太晚了,但我刚刚遇到了这个问题。 由于您无法访问数据库,因此阻止两个用户请求对同一记录进行编辑绝非易事(即使您这样做了,我也不确定在web应用程序中是否有防弹方法)。您可以做的

我的MVC4应用程序使用实体框架5作为其ORM。 并使用Oracle 10数据库作为其后端。 MVC视图显示来自Oracle DB视图的数据,我无法控制数据库模式。 视图是可更新的,并且还需要管理并发性。基础表/视图中没有时间戳类型的列。 在这种情况下,如何管理并发性


如果您对此有任何建议,我们将不胜感激。

很抱歉,我的回答太晚了,但我刚刚遇到了这个问题。
由于您无法访问数据库,因此阻止两个用户请求对同一记录进行编辑绝非易事(即使您这样做了,我也不确定在web应用程序中是否有防弹方法)。您可以做的是防止用户编辑在检索对象和提交更改之间修改过的对象。我将假设在MVC应用程序中,您使用视图模型来表示屏幕上的域模型对象。您可以在视图模型中包含一个字段作为附加字段,该字段用于根据检索时对象的状态计算的哈希。发布编辑后,您需要再次从数据库中检索记录,将其当前哈希值与MVC视图提交的哈希值进行比较。如果出现差异,请通知用户更改并在数据库中显示当前值,告知用户发生了什么(例如,通过添加模型状态错误)。

其他系统是否在下面更新Oracle,或者您的网站是唯一的条目?我不确定是否有其他网站正在更新。。我们的客户无法提供更多细节。但这有什么区别吗?这只是为了了解网站之外可能发生的变化。我想一想……现在不行。在我看来,并发性主要是一个数据库问题,所以如果您不能更改数据库以添加额外的列,那么我就没有主意了。对不起,没错,我在找什么。非常感谢:)很高兴我能帮上忙:)