You should use entity framework and inject your database into the code. That way, you're not managing state of your database connections at all.
But, if you do it manually, you should create your connection in a using block. Then your IDisposable on whatever class you use, should disconnect for you. If you don't do that, there's no reason to think your controller class will find objects in your method and clean them up.
If you're using EF, this is worth reading:
Database Connection Hazards with Entity Framework - Brent Ozar Unlimited®[
^]
Basically, entity framework goes ahead and tries to manage connections for you, so closing connections is basically fighting it.