действия память не освобождается? По идее DBContext диспозится и память должна очищаться
Когда GC посчитает нужным, тогда и почистит
Зависит от того, как создавали контекст
Это не создание контекста, а регистрация в контейнере
В общем, dispose контекста не обязательно приведёт к освобождению памяти. Либо у вас где-то ссылка остаётся висеть
Может ли EF core продолжать хранить созданные сущности, даже после завершения работы метода (для ASP core приложений)?
Для начала я бы не получал контекст через конструктор, а создавал его в самом методе using var c = new... Попробуйте так
А для ASP Core это нормальная практика?
Ты создал кучу сушьностей в памяти завершения действия не является триггером для gc контекст то мб и задиспоузился но куча созданных shop все еще весит в памяти и ждет когда gc их соберет
А как вы решаете такую проблемму?
Подергай другие методы посмотри как память себя ведет скорее всего чистится где то позже
Это 1) не влияет ни на что в части лайфтайма контекста 2) не позволяет нормально затащить конфиги в ряде кейсов.
Есть понятие поколений в GC. И я подозреваю, что у человека объекты улетают во второе поколение. Создавал бы руками в рамках одного метода - возможно и оставались бы в первом. Каких кейсов? Ну передавайте фабрику контекстов в конструктор.
Ну, скорее всего. Они у него там будут в трекере жить какое-то время, полагаю.
Обсуждают сегодня