Ну, Stored Procs может быть дополнительным уровнем абстракции или набором функций / методов, если вы смотрите на базу данных как объект или службу. Это может быть выгодно, поскольку вы можете скрыть основные детали реализации и изменить их, когда это необходимо, без прерывания работы приложения (пока вы покидаете интерфейс, например, сохраненные параметры процедуры, в одиночку). Кроме того, если вы можете скрыть детали таблицы за набором хранимых процедур, независимо от того, как кто-то получит доступ к вашей базе данных, он сможет взаимодействовать с ней только с помощью методов, которые вы разработали и написали для нее -> меньше риск взлома Excel и взлома вашей базы данных.
С другой стороны, Stored Proc требует обширных знаний T-SQL, и вы будете распределять свою логику бизнеса и приложений по двум наборам кодов, что может быть недостатком. Все, что вы можете сделать в хранимой процедуре, также может быть выполнено в ADO.NET с прямыми операторами SQL, и это больше не замедляется.
Еще одним плюсом для Stored Procs является тот факт, что если что-то не так в вашем процессе, вы можете исправить это, просто развернув процесс с исправлением - вам не нужно прикасаться к приложению C #. Это может быть большим плюсом в «размещенной» среде, если вы получаете только 3 релиза в год - тогда исправление с помощью исправления Stored Proc может помочь вам в этом! : -)
В целом: есть много плюсов и минусов за или против хранимых проков; Я бы посоветовал, если вы чувствуете себя комфортно при написании T-SQL, почему бы не попробовать и посмотреть, как он работает для вас. Если он кажется громоздким, слишком негибким или слишком долгим в долгосрочной перспективе, вы всегда можете вернуться к использованию прямого SQL в своем приложении C #.
Только мои 0,02 доллара. Marc