Информация об изменениях

Сообщение EF Code First Counter от 24.12.2014 16:03

Изменено 24.12.2014 16:10 DmitrijPolianin

Привет, ребята!

Вопрос такой, я хочу завести в базе счетчик посещений на некоторые страницы.
Там надо просто извлечь из базы текущее значение в контроллере или во вьюшке, и приплюсовать единичку, записать снова в базу.
Но если одновременно несколько пользователей будет заходить туда, то может получиться что в базу запишется неверное число. Так как один пока заходит, другой уже обновил базу и первый просто не учтет изменения которые сделал второй.
Как можно решить эту проблему.

Пока мысли такие что обернуть весь запрос в базу в транзакцию. Поможет ли это? Правильно ли я понимаю что если эти операции будут в транзакции, то тогда эти таблички будут залочены для всех других операций, до тех пор пока транзакция не завершится?
И есть ли какие-то штатные методы работы с такими вещами.
EF Code First Counter
Привет, ребята!

Вопрос такой, я хочу завести в базе счетчик посещений на некоторые страницы.
Там надо просто извлечь из базы текущее значение в контроллере или во вьюшке, и приплюсовать единичку, записать снова в базу.
Но если одновременно несколько пользователей будет заходить туда, то может получиться что в базу запишется неверное число. Так как один пока заходит, другой уже обновил базу и первый просто не учтет изменения которые сделал второй.
Как можно решить эту проблему.

Пока мысли такие что обернуть весь запрос в базу в транзакцию. Поможет ли это? Правильно ли я понимаю что если эти операции будут в транзакции, то тогда эти таблички будут залочены для всех других операций, до тех пор пока транзакция не завершится?
И есть ли какие-то штатные методы работы с такими вещами.

Еще думаю такой вариант, сделать это через SQL выражение типа Update. Но тут тоже нету полного понимание, может ли в таком случае все-таки потеряться единичка.
ef code first counter transaction