Мне интересно, какая будет лучшая точка в отношении основных соединений с базой данных в .NET-приложении (ADO.NET, но я думаю, что практика должна быть одинаковой для любого уровня данных). Должен ли я создавать соединение с базой данных и распространять его по всему моему приложению, или было бы лучше просто передать строки/фабрики соединений и создать соединение ad-hoc, когда это необходимо.
Поскольку я понимаю, что удар производительности не значим с пулом, и он позволяет мне легко восстановиться из сломанных подключений (просто будет создано новое соединение), но опять-таки объект соединения - хорошая, относительно высокоуровневая абстракция и создание новое соединение для каждой операции (а не команда SQL, но приложение) генерирует дополнительный дублированный код и кажется пустой тратой времени/ресурсов (?).
Что вы думаете об этих двух случаях, каковы их недостатки/плюсы и какой подход вы используете в своих реальных приложениях?
Спасибо