Основным преимуществом здесь является то, что в среде IDE вы можете написать всю сантехнику для вас, то есть отсортировать параметры и возвращаемые данные.
С точки зрения необработанной производительности;с хранимой процедурой нет дерева выражений для анализа, поэтому оно должно быть довольно быстрым.Однако внутренне мы заметили, что в LINQ-to-SQL materializer иногда наблюдается замедление, которое может повлиять на вас, если вы интенсивно используете.
Если вы хотите добиться максимальной производительности, мой совет:посмотрите на dapper-dot-net , который мы написали (и выпустили как OSS) после нахождения этих пауз материализатора.Использование довольно просто.В частности, это аккуратно позволяет вам использовать dapper для выполнения тяжелой работы, но все же использовать сгенерированные IDE типы для данных.
Внутренне мы не используем хранимые процедуры;мы используем комбинацию:
- кода дерева выражений LINQ-to-SQL
- кода LINQ-to-SQL
ExecuteQuery
(и т. д.) - dapper-dot-net
Предпочтение производительности является (по нашему опыту) последним.Первый удобно писать, и часто достаточно быстро.Средний вариант - fast , но когда dapper имеет почти идентичный API (и быстрее), его сейчас трудно любить; p