Если вы регистрируете базу данных как контекст базы данных как объединенный с AddDbContextPool (), каков именно срок жизни контекста? Кажется, он ведет себя как контекст базы данных с заданной областью, поскольку несохраненные изменения видны во всех местах, куда они были введены.
Но надежно ли это во всех случаях? Что происходит в следующем сценарии:
- Конечная точка контроллера изменяет контекст базы данных
- Перед сохранением контекста базы данных происходит исключение, которое распространяется вверх, предотвращая сохранение контекста базы данных. Изменения эффективно «откатываются».
- Другой вызов конечной точки выполняется позже.
В # 3, если из пула выбирается тот же контекст базы данных, что и в предыдущем запросе, вернет ли он несохраненные изменения "tra sh", которые никогда не сохранялись и должны быть отброшены? Если да, то как с этим справиться или вообще не следует использовать объединенные контексты в этом случае? Если да, то какова цель объединенных контекстов, поскольку они фактически (ненадежные) синглтоны?
Спасибо.