aricode
Всем Привет,
Этот блог http://blogs.msdn.com/b/spike/archive/2010/04/07/concurrency-violation-the-updatecommand-affected-0-of-the-expected-1-records.aspx[^]
определяет причину связанной проблемы, однако наиболее конкретно эту причину лучше всего понять из msdn http://msdn.microsoft.com/en-us/library/cs6hb8k4.aspx[^]
Взято из msdn
Цитата:
При попытке обновления исходная версия измененной строки сравнивается с существующей строкой в базе данных. Если они отличаются друг от друга, обновление завершается ошибкой параллелизма. В этот момент Вы должны согласовать две строки, используя созданную вами бизнес-логику.
Пример для иллюстрации
В колонке datatime в SQL 'createdon и modifiedon были получены и уже поменял на varchar, чтобы показать его пользователям
Цитата:
выберите топ 1 имя, роль, конвертировать(тип varchar, createdon и modifiedon, 105), а createdon и modifiedon from Имя_таблицы
Теперь, когда пользователь со стороны пользовательского интерфейса обновляет строку, позволяет сказать " имя "и сделать обновление строки в БД, это не даст ошибки нарушения параллелизма, потому что столбец "modifiedOn" не изменяется и отличается от существующей строки в базе данных.