Что платформа объекта делает с блокировкой SQL-сервера

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

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

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

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

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

Я также задался вопросом, так или иначе возможно видеть, какие блокировки используются (набор?) SQL-сервером?

Michel

1
задан Nix 30 July 2010 в 15:11
поделиться

2 ответа

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

1
ответ дан 2 September 2019 в 22:33
поделиться

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

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

1
ответ дан 2 September 2019 в 22:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: