在网上阅读我可以针对实体框架数据库字段设置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子句中,则会使该语句变得多余。
谢谢, 杰森
答案 0 :(得分:0)
所有这些。该功能的用途是用于TIMESTAMP
字段,用户无法直接分配。