Есть ли какая-либо польза для явного использования CommandType StoredProcedure, а не только с помощью текстовой команды? Другими словами,
cmd = new SqlCommand("EXEC StoredProc(@p1, @p2)");
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add("@p1", 1);
cmd.Parameters.Add("@p2", 2);
хуже, чем
cmd = new SqlCommand("StoredProc");
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@p1", 1);
cmd.Parameters.Add("@p2", 2);
ИЗМЕНИТЬ: Исправлено плохое копирование (снова). Кроме того, вся суть вопроса в отношении класса доступа к данным. Я бы скорее смог передать сохраненное имя и параметры proc в одной строке, а не дополнительные строки для каждого параметра.