Как обрабатывать параллелизм с помощью ORM - PullRequest
4 голосов
/ 29 августа 2010

Предположим, я писал приложение, в котором пользователям приходилось записывать встречи (в моем случае пользователь работает в паре с сотрудником, и этот сотрудник выполняет работу для этого пользователя в определенное время суток).Как бы я гарантировал, что 2 пользователя не закончили бронирование одной и той же встречи с помощью NHibernate или Entity Framework?Я бы открыл транзакцию и сделал бы что-то вроде:

BeginTransaction();

if(!AppointmentBooked(userId, employeeId, time)) // read
   BookAppointment(userId, employeeId, time); // write

CommitTransaction();

1 Ответ

2 голосов
/ 29 августа 2010

Проверьте эту статью, это может быть полезно. У меня была проблема, как у тебя. Entity Framework имеет возможность делать неоптимистичный параллелизм через конфигурацию.

http://msdn.microsoft.com/en-us/library/bb738618.aspx

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