Согласитесь с Дэвидом, поскольку это зависит от размера вашего заявления.
Однако я бы предложил использовать внедрение зависимостей для управления подключением.
Используя что-то вроде StructureMap , вы можете получить что-то вроде этого:
For<PhotoGalleryContext>()
.HybridHttpOrThreadLocalScoped
.Use<PhotoGalleryContext>();
Что означает:
Когда что-то запрашивает PhotoGalleryContext , присвойте ему новый PhotoGalleryContext , который HTTP-ограничен (создается в начале запроса, располагается в конце).
Таким образом, StructureMap автоматически открывает / закрывает соединение для вас.
Тогда ваш контроллер может выглядеть так:
private readonly PhotoGalleryContext _db;
public AdminController(PhotoGalleryContext db)
{
_db = db;
}
И в ваших методах действия, _db
будет готов пойти за вами.
Несколько строк кода, чтобы сохранить много повторяющихся операторов в вашем приложении.