T4MVC, нет конкурса.Это позволит вам ссылаться на представления и действия контроллера, используя иерархию (генерируемых кодом) вложенных классов и свойств.Этот подход имеет несколько преимуществ - доступные параметры легко обнаружить, и он обеспечивает наилучшую возможную производительность (безусловно, большой выигрыш по сравнению с лямбда-подходом для строгой типизации).
Также очень легко написать свои собственные расширения, использующие фиктивный класс ActionResult от T4MVC.Например, у меня есть несколько помощников ActionImage, которые извлекают необходимую информацию о маршрутизации для генерации результирующей разметки.
Единственный недостаток T4MVC - это необходимость поддерживать файл сгенерированного кода в актуальном состоянии.Вы можете сделать это, оставив файл .tt открытым или установив расширение, которое будет автоматически запускать файлы .tt (например, Chirpy).