There are lots of questions about these subjects separately and everyone have their own opinion.
Maybe someone can give me a good answer regarding the following issue.
The DbContext is designed to be instantiated with each request. It implements IDisposable and instantiating is a low-cost operation. Connection pooling to the database is handled internally.