Нет, это не нарушает шаблон, если это ваша ViewModel .
Модель представления, как правило, представляет собой простой POCO (обычный старый объект CLR), который
не содержит бизнес-логики, в основном только свойства.
Метод @Html.DisplayFor(x => x.MyProperty)
будет искать атрибут Display
и использовать эту информацию. Таким образом, правильный способ - использовать атрибут вместо любого вида жестко закодированного текста в вашем представлении.
надеюсь, это поможет