Мне кажется, что код проще поддерживать и легче проверить по сравнению с решением для хранимых процедур SQL.
Комбинируя LINQ с расширениями, я получаю что-то вроде (возможно, следует использовать какой-нибудь интерфейс Fluent .....)
return source.Growth().ShareOfChangeDate();
, где Growth и ShareOfChageDate - это расширения, которые я легко могу выполнить для модульных тестов
и, как говорит Л.Бушкин, строку выше я могу представить клиенту, когда мы будем обсуждать
Вопросы
Я чувствую, что получаю меньше контроля над сгенерированным SQL, и это немного волшебство, чтобы найти проблемы с производительностью .....