Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 我如何控制“安全性”;原文;对于EF中的乐观并发?_.net_Entity Framework_Optimistic Locking - Fatal编程技术网

.net 我如何控制“安全性”;原文;对于EF中的乐观并发?

.net 我如何控制“安全性”;原文;对于EF中的乐观并发?,.net,entity-framework,optimistic-locking,.net,Entity Framework,Optimistic Locking,EF内置了对乐观并发()的支持。在本例中,我希望利用该功能,但我不希望“before”对象是我刚刚从数据库中提取的对象。相反,我希望它是我刚才提取的(并存储了的rowversion值) 有没有可能为了这个目的“伪造”这个物体 用例是一个显示一些数据的网页。当用户保存表单时,我想检查是否没有其他用户已经保存了数据…因此并发检查会抛出一个错误。您仍然拥有由前端维护的POCO版本。不需要重新加载。我看不出问题。我可以手动比较新版本和旧版本,然后抛出一个错误,但我想我希望能够连接到自动EF机制来实现这一

EF内置了对乐观并发()的支持。在本例中,我希望利用该功能,但我不希望“before”对象是我刚刚从数据库中提取的对象。相反,我希望它是我刚才提取的(并存储了的rowversion值)

有没有可能为了这个目的“伪造”这个物体


用例是一个显示一些数据的网页。当用户保存表单时,我想检查是否没有其他用户已经保存了数据…

因此并发检查会抛出一个错误。您仍然拥有由前端维护的POCO版本。不需要重新加载。我看不出问题。我可以手动比较新版本和旧版本,然后抛出一个错误,但我想我希望能够连接到自动EF机制来实现这一点……是的,EF使用Rowversion为您实现这一点。它将执行乐观检查并抛出错误。生成的SQL将有一个额外的,其中Rowversion=Rowversion。如果记录已更改,则此更新将失败。所以我不知道你说的手动检查是什么意思。如果POCO定义了rowversion/时间戳,则不需要此选项