2017-02-05 5 views
-1

, поэтому я готов разработать многопользовательское приложение с использованием Entity Framework. Но я не уверен, как EF точно обрабатывает несколько запросов от разных пользователей одновременно.Entity Framework несколько пользовательских приложений

Например: user1 вставляет запись в какую-либо таблицу. Что происходит, когда user2 вставляет запись в эту таблицу в тот же момент?

+0

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

+0

Чтобы справиться с этими сценариями, это работа ** базовой системы баз данных ** - EF в действительности не участвует в этом. Он просто разговаривает с сервером базы данных и обрабатывает любые сообщения об ошибках. Это будет точно так же, как если бы вы использовали «сырой ADO.NET» с прямолинейными SQL-запросами - никакой разницы –

ответ

2

Это не имеет ничего общего с несколькими пользователями, это вопрос параллелизма (потому что один и тот же пользователь может одновременно выдавать несколько команд).

Серверы баз данных (например, SQL Server) have a variety of ways to deal with concurrency (например, блокировка таблиц и строк и блокировки транзакций) и Entity Framework adds its own concurrency features, как оптимистический и пессимистический параллелизм.

Вам нужно будет изучить эти темы самостоятельно, и это объяснит, как обрабатывается параллелизм.