Я получаю сообщение об ошибке на своем веб-сайте MVC, в котором содержится информация о параллелизме данных в Linq to SQL:
"Строка не найдена или изменена"
После прочтения нескольких сообщений здесь это выглядитхотя приемлемым решением является установка для всех полей, не относящихся к первичному ключу, значение UpdateCheck = false в конструкторе dbml.Прежде чем решиться на это, я хотел спросить, потеряю ли я что-нибудь, если сделаю это?
Если честно, мне кажется, что так должно быть всегда, так как использование первичного ключа должно быть самым быстрым способом найти запись в любом случае.Это предполагает, что у вас нет композитных ПК.Я не очень знаком со сценариями параллелизма данных, но я что-то здесь упускаю?
Спасибо за ваше время!
[EDIT]
Спасибо за отзывы ребята!Чтобы дать более подробную информацию, у меня есть конкретный сценарий:
У меня есть таблица Article с несколькими полями (заголовок, содержание, автор и т. Д.).Одним из полей, которое обновляется очень часто (каждый раз, когда кто-либо просматривает статью), является поле популярности, которое увеличивается с каждым кликом.Я увидел исходную ошибку, упомянутую выше, когда обновил текст статьи в базе данных.Затем перешел к этой статье на живом сайте (который пытался обновить поле популярности).
Для начала звучит так, будто мне НЕ нужно использовать общий DataContext.Кроме того, возможно, никогда не смотрите на установку определенных полей на UpdateCheck.При этом, Я определенно не хочу, чтобы популярность статьи не получала обновления из-за некоторой проблемы параллелизма.Так что в таком случае, есть ли способ для меня, чтобы обеспечить это с оптимистичным параллелизмом?
Еще раз спасибо !!