Несколько моделей Entity Framework и объектный контекст
У меня есть веб-приложение asp.net, которое использует Entity Framework. Уровень данных приложения использует метод, описанный Джорданом Ван Гогом, который можно найти здесь. В двух словах, этот метод использует один экземпляр общего объектного контекста для каждого запроса http и избавляется от использования AspNetObjectContextDisposalModule, который наследует IHttpModule.
Я добавил другой проект, несколько дополнительных таблиц и настроил слой данных, который копирует (точно) пример, который я описал выше, в мое приложение. Этот дополнительный проект и последующая модель данных работают отлично. Я могу выполнять различные операции, используя 2 слоя данных, без каких-либо последствий. Конечно, наборы объектов различаются в двух слоях данных, поскольку они представляют разные таблицы.
У меня вопрос такой:
Этот подход хорошая идея? Я получаю большую часть того, что происходит за кулисами, но обе эти модели используют System.Data.Objects.ObjectContext. Если пользователь A выполняет операцию с использованием первого уровня данных, в то время как одновременно пользователь B выполняет операцию с использованием второго уровня данных, будут ли проблемы с "общим" объектным контекстом?
Благодарю. И будь нежным.
Редактировать Примечание: я использую разные клавиши ОК
1 ответ
Вы должны быть в порядке:
- Контекст объекта соответствует HTTP-запросу, поэтому контекст от разных пользователей не будет мешать друг другу.
- Каждый контекст обновляет разные таблицы, чтобы они не мешали друг другу
Одна вещь, которую вам, возможно, придется остерегаться, это то, что происходит, когда два пользователя обновляют одни и те же данные одновременно.