Большинству разработчиков нравится вводить хотя бы один слой между кодом позади и базой данных.
Кроме того, существует множество стратегий доступа к данным, которые люди используют на этом уровне.ADO.NET, Entity Framework, Enterprise Library NHibernate, Linq и т. Д.
Во всех них вы можете использовать SQL-запросы или хранимые процедуры.Я предпочитаю хранимые процедуры, потому что их легко написать и развернуть.Другие предпочитают использовать параметризованные запросы.
Когда у вас так много вариантов, это обычно указывает на то, что действительно нет явного победителя.Это означает, что вы, вероятно, можете просто выбрать направление и пойти по нему, и у вас все будет хорошо.
Но вы действительно не должны использовать непараметрические запросы, и вы не должны делать это в коде, а вместо этогов отдельных классах