Я нахожусь на более поздних стадиях разработки веб-приложения, которое довольно сложно с EF 4.1 CodeFirst (ну, это более сложный, чем большинство примеров). Я не претендую на то, чтобы быть экспертом по коду, поэтому у других могут быть разные мнения.
Я использовал подход, управляемый доменом, вместе с шаблоном хранилища. База данных, созданная кодом, сначала работала хорошо, хотя мне приходилось вручную оптимизировать базу данных, добавлять индексы и т. Д. У меня были проблемы с mvc-profiler, но ничего особенного.
Была кривая обучения, но я считаю, что это было связано скорее с моим отсутствием знаний о коде в первую очередь, чем с чем-то сложным в этом. Когда мы начали разрабатывать приложение, мы могли с самого начала воссоздать базу данных и запустить ее. Хотя мы отключили это сейчас, и любые изменения в БД производятся вручную, а код обновляется.
Так что для меня код сначала хорошо работал, мне нравится такой подход для новых приложений, и его было не слишком сложно запустить и запустить (много чтения).