Доступ к данным в HtmlHelper - только боль.
Мне посчастливилось унаследовать проект, в котором специальный SQL был помещен в HtmlHelpers вторым разработчиком проекта. HtmlHelpers были прекрасно написаны первым разработчиком, а специальный SQL почти полностью свел на нет все время и усилия, вложенные в создание сервис-ориентированной архитектуры, с ORM (кэш 2-го уровня стал бесполезным), шаблоном единицы работы (транзакции, ничего не стоящие) и каждый аспект дизайна. В конце концов, этот второй разработчик должен был делать все больше и больше HtmlHelpers, чтобы разные элементы могли совместно использовать доступ к данным.
Первоначально это было сделано для режима отображения, а редактирование было выполнено через кучу уродливых пользовательских javascript. В общем, когда страница отображалась, она сделала 600 синхронных обращений к базе данных.