Если вы ограничены хранимыми процедурами, то лучшим выбором будет Linq-to-Sql, он будет работать достаточно хорошо, если ваша цель - отобразить классы один в один с наборами результатов из хранимых процедур.
Есть некоторые причуды с дизайнером, но как только вы их выясните, это очень хорошо работает для сопоставления наборов результатов с классами.
Существует большая разница между использованием "хранимых процедур" для ORM и использованием такого инструмента, как NHibernate, и отображением прямо на ваши таблицы.
Отображение прямо на таблицы дает вам все удивительные вещи, такие как ленивая загрузка и шаблон репозитория.
здесь - это мой пост в блоге о настройке linq-to-sql с использованием хранимых процедур, надеюсь, это поможет