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