DbContext is incredibly cheap to create an instance, so I wouldn't worry too much about the time taken to get a new one.
The problem that I am encountering in the field of DbContext is not so much protecting the threads from query isolation. Since anyone can cause changes to be saved and transfer the entire graph of the object to the database, you want to make sure that you call it only in the context of your specific changes.
DbContext , , . , singleton, . ( , )
- - , HttpRequest. , , , , , .
, , , autofac, :)