Что делает структура сущностей с блокировкой сервера SQL - PullRequest
1 голос
/ 30 июля 2010

Я не настоящий эксперт по базам данных, и мне было интересно, не могли бы вы рассказать мне, какой тип сервера блокировки Sql использует в сочетании с платформой сущностей в следующих случаях:

Я читаю 40 записей из таблицы, обновляю их в коде и вызываю SaveChanges в контексте

Я читаю 1 запись из таблицы, обновляю ее в коде и вызываю SaveChanges в контексте

Я создаю 1 новую запись (объект) в коде и вызываю SaveChanges к контексту

Я создаю 40 новых записей (объект) в коде и вызываю SaveChanges к контексту

Мне также было интересно, возможно ли как-то увидеть, какие блокировки используются (установлены?) Sql Server?

Michel

Ответы [ 2 ]

1 голос
/ 30 июля 2010

Блокировка зависит от того, как настроен SQL Server, а не от EF. Вы отслеживаете блокировку, используя динамические административные представления

1 голос
/ 30 июля 2010

Я думаю, что это трудно ответить, потому что все зависит от того, как вы пишете код.Платформа сущностей не выполняет фактическую инструкцию SELECT до того, как вы используете какие-либо данные.Например: Dim v = (Из a in in Something выберите a) Для каждого b in v Next

В этом блоке кода фактический «SELECT * FROM Something» не выполняется на SQL Server до его поступленияна строку «Для каждого».Лучший ответ, который я могу вам дать, это проверить его самостоятельно, посмотрев на sys.dm_tran_locks, который возвращает все блокировки.

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