Используйте хранимые процедуры, когда вы обнаружили узкое место в производительности. если вы не определили узкое место, что вы делаете с преждевременной оптимизацией?
Используйте хранимые процедуры, если вас беспокоит безопасность доступа к определенной таблице.
Используйте хранимые процедуры, когда у вас есть мастер SQL, который готов сидеть и писать сложные запросы, объединяющие множество таблиц в унаследованной базе данных, для выполнения сложных задач в операторе OR.
Используйте маппер OR для других (как минимум) 80% вашей базы данных: там, где выборки и обновления являются настолько рутинными, что делают доступ с помощью только хранимых процедур бессмысленным упражнением в ручном кодировании, и где обновления происходят так редко нет затрат на производительность. Используйте OR mapper для автоматизации простых вещей.
Большинство картографов OR могут общаться с сохраненными процессами для остальных.
Вы не должны использовать хранимые прокы, предполагая, что они быстрее, чем оператор SQL в строке, это не обязательно имеет место в последних нескольких версиях сервера MS SQL.
Вам не нужно использовать хранимые процедуры для предотвращения атак с использованием SQL-инъекций, есть и другие способы убедиться, что параметры вашего запроса строго типизированы, а не просто объединены в строку.
Вам не нужно использовать OR mapper для получения модели домена POCO, но это помогает.