С такими методами, как LINQ, я не вижу (почти) необходимости в таких средах, как NHibernate и подобных решениях. Когда производительность является реальной проблемой, генерируемые приложения-заглушки могут работать быстрее, чем методы, основанные на таких методах, как рефлексия.
Еще одним преимуществом сгенерированного кода является то, что он компилируется и, следовательно, с меньшей вероятностью вызывает ошибки во время выполнения.