Вам может помочь, к примеру reflection.
Создаете свой атрибут, action filter (
https://msdn.microsoft.com/ru-ru/library/system.we... ). В нем у вас есть модель. Берете все ее свойства, проверяете. Ок, отпускаете, нет - формируете ошибки.
P.S. А вообще, я делал в LinqPad генератор кода, который меня очень много раз спасал. На входе были linq-to-sql-модели, которые отдавала функция из БД, я на основе него формировал текст класса, где уже были расставлены display-атрибуты и прочие нужные вещи. Если такие модели периодично появляются/меняются - можно сделать такой инструмент, т.к. универсальность - не всегда хорошо.