Почему популярна связка ASP.NET MVC + Entity Framework? Потому что стал моден Ruby on Rails (это, между прочим, опять стандарный паттерн ActiveRecord), и возник запрос в среде дотнет-разработчиков. И Microsoft решил запрыгнуть на эту волну, вот и все. А дальше покатилось — включилась пиар-машина, появились тысячи инструкций, мануалов, книг, скринкастов, подкастов и прочего. Это не значит, что это теперь единственный true-way делать веб-приложения на дотнете. Хотя, рассматривая альтернативы, я бы имел ввиду, что за ними не стоят такие ресурсы.
Когда нечто (обычно метод) возвращает непойми что, как раз лучше использовать явное указание типа. Если это не LINQ-запрос, возвращающий коллекцию экземпляров анонимного класса.
Чем StringBuilder sb = new StringBuilder(); может помочь вам по сравнению с var sb = new StringBuilder(); в запоминании типа? Повторение — мать учения?
Об var сломано уже достаточно копий, каждый выбирает то, что ему удобно. У меня на неиспользование var ругается StyleCop, поэтому привычка выработалась.
Перепишите на F#, ФВП и рекурсия добавят красоты :) А если совсем серьезно, у каждого свое понятие о красоте. Мне код понравился, чистенько и доходчиво.