Enityframework - ConcurrencyMode, где предложение - PullRequest
0 голосов
/ 30 декабря 2010

Читая в Интернете, я могу установить ConcurrencyMode = Fixed для поля базы данных Entity Framework.

Насколько я понимаю, любые операторы обновления включают в свое предложение where исходные значения, чтобы определить, изменился ли текст данных.

(так что если полученные строки получают удар, то все хорошо, иначе у нас конфликт)

Теперь мой вопрос ..

Можно ли изменить только столбцыв текстовом тексте включается в предложение where или все столбцы, помеченные как фиксированные.

т.е. (если у меня есть следующие настройки)

name =fixedconcurrency

DateofBith = fixedconcurrency

NI = fixedconcurrency

Когда меняются только поля имени, я получаю:

update tbuser set name = "newJason ", где Id = 2 и name =" oldJason "и DateofBith =" 19/10/1970 "и NI = 1234566

или

Обновить имя набора tbuser ="newJason", где Id = 2 и name = "oldJason"

Моя цель состоит в том, чтобы конфликты возникали только тогда, когда пользователь перезаписывает данные других пользователей (на уровне поля, а не на уровне записи).

Фрагмент из MS говорит, что структура сущностей будет обновлять только поля, отредактированные пользователем,Если все поля включены в предложение where, это сделает этот оператор излишним.

Спасибо, Джейсон

1 Ответ

0 голосов
/ 30 декабря 2010

Все они.Функция предназначена для чего-то вроде поля TIMESTAMP, которое пользователь не может назначить напрямую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...