Это зависит от того, как вы ожидаете, что это будет действовать.Единственная причина, по которой вы хотите, чтобы он остался, - если вы хотите использовать функцию кэширования DbContext для нескольких вызовов методов.Но так как в любом случае использование DbContext приводит к удалению соединений из пула, оно не должно сильно влиять на производительность при создании нового.
Для меня лично я создаю контекст как можно ближе и убиваю его как можно скорее.Таким образом, вызовы Get должны использовать AsNoTracking (), чтобы значительно ускорить вызовы, если вам не нужно пытаться обновить их позже.Вы также можете создать DbContextFactory, чтобы каждый класс мог контролировать это взаимодействие по своему усмотрению.(т. е. метод A всегда создает новый, но методы B и C могут делиться, если один из них вызывается первым).Хотя это может привести к собственным проблемам в будущем, но тогда вы можете выбрать эти условия.