Сколько параметров вы считаете «большим числом»? Кроме того, почему хранимая процедура имеет так много параметров? Похоже, это будет весело для тестирования.
Каким образом код, который вызывает хранимую процедуру, получит данные, необходимые для передачи параметров? Если данные уже доступны в XML, то XML может быть хорошим способом их передачи. Если данные уже доступны в отдельных переменных, тогда объекты Parameters могут быть лучше.
Обратите внимание, что в SQL Server 2008 у вас есть возможность отправить DataTable в качестве значения параметра типа TABLE.
РЕДАКТИРОВАТЬ: Простой способ настройки параметров
Несмотря на то, что я считаю, что наборы данных чрезмерно используются и злоупотребляют, ниже приводится процедура, которая устанавливает объекты параметров хранимых процедур и упрощает вызов хранимых процедур со многими параметрами:
- Создайте новый набор данных с помощью «Добавить новый элемент» и выберите «Набор данных». Назовите DataSet как хотите.
- Просмотр обозревателя серверов, если вы его еще не просматривали
- Добавить соединение в вашу базу данных, если его там еще нет
- Расширяйте соединение, пока не найдете хранимую процедуру
- Перетащите хранимую процедуру на поверхность конструктора
Это создаст TableAdapter с методом для вызова вашей хранимой процедуры. Метод зависит от объектов SqlParameter, которые инфраструктура уже создала. Метод примет параметры SP, переданные в качестве параметров вызова метода, и будет использовать параметры вызова для заполнения параметров SP. Все это сделано для вас, и сделано достаточно эффективно.