Entity Framework: соединения после перезапуска SQL Server - PullRequest
0 голосов
/ 20 января 2012

Могу ли я быть уверен, что Entity Framework проверяет соединения, полученные из пула соединений? Рассмотрим случай:

  1. Некоторые операции CRUD выполняются;
  2. остановка сервера SQL;
  3. Операции CRUD не выполняются;
  4. Запуск сервера SQL.

Гарантируется ли, что после запуска сервера SQL операции CRUD не завершатся неудачей?

EF v1

Заранее спасибо

upd: оказывается, что ADO.NET отвечает за пул соединений, а не EF. Но в целом вопрос остается;

Ответы [ 2 ]

0 голосов
/ 20 января 2012

Если SQL Server останавливает, все соединения, находящиеся в данный момент в пуле, будут разорваны. Пул соединений не проверяет состояние соединения. Скорее всего, вы получите исключение для каждого разорванного соединения, но при следующих вызовах будет создано новое соединение, и операции CRUD снова будут работать.

Если вы беспокоитесь о транзакции, транзакция не будет работать после сбоя SQL-сервера. Таким образом, операции CUD, выполненные в транзакции до сбоя сервера SQL, будут отменены.

0 голосов
/ 20 января 2012

Как вы хотите гарантировать, что операция CRUD не завершится ошибкой ...? Можете ли вы быть более конкретным в своем вопросе?

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

Невозможно, на мой взгляд.

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