实体框架 - 并发模式where子句

时间:2010-12-29 23:05:24

标签: entity-framework-4

在网上阅读我可以针对实体框架数据库字段设置ConcurrencyMode = Fixed。

我的理解是,任何更新语句都在其where子句中包含原始值,以确定datacontext是否已更改。

(因此,如果受影响的行受到影响,那么一切都很好,否则我们会发生冲突)

现在我的问题是......

  

只更改了列中的列   datacontext包含在哪里   子句或所有列   标记为固定。

即。 (如果我有以下设置)

名= fixedconcurrency

DateofBith = fixedconcurrency

NI = fixedconcurrency

当我只得到名称字段更改时:

  

更新tbuser set name =“newJason”   其中Id = 2且name =“oldJason”和   DateofBith =“19/10/1970”和NI = 1234566

  

更新tbuser set name =“newJason”   其中Id = 2且name =“oldJason”

我的目标是只在用户覆盖其他用户数据时才会引发冲突(在字段级别而不是记录级别)。

MS的一个片段表示实体框架只会更新用户编辑过的字段。如果所有字段都包含在where子句中,则会使该语句变得多余。

谢谢, 杰森

1 个答案:

答案 0 :(得分:0)

所有这些。该功能的用途是用于TIMESTAMP字段,用户无法直接分配。