Время жизни контекста объединенной базы данных - PullRequest
0 голосов
/ 20 июня 2020

Если вы регистрируете базу данных как контекст базы данных как объединенный с AddDbContextPool (), каков именно срок жизни контекста? Кажется, он ведет себя как контекст базы данных с заданной областью, поскольку несохраненные изменения видны во всех местах, куда они были введены.

Но надежно ли это во всех случаях? Что происходит в следующем сценарии:

  1. Конечная точка контроллера изменяет контекст базы данных
  2. Перед сохранением контекста базы данных происходит исключение, которое распространяется вверх, предотвращая сохранение контекста базы данных. Изменения эффективно «откатываются».
  3. Другой вызов конечной точки выполняется позже.

В # 3, если из пула выбирается тот же контекст базы данных, что и в предыдущем запросе, вернет ли он несохраненные изменения "tra sh", которые никогда не сохранялись и должны быть отброшены? Если да, то как с этим справиться или вообще не следует использовать объединенные контексты в этом случае? Если да, то какова цель объединенных контекстов, поскольку они фактически (ненадежные) синглтоны?

Спасибо.

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