Искате метода SqlCommandBuilder.DeriveParameters(SqlCommand). Имайте предвид, че изисква допълнително двупосочно пътуване до базата данни, така че е донякъде значителен удар в производителността. Трябва да помислите за кеширане на резултатите.
Примерно обаждане:
using (SqlConnection conn = new SqlConnection(CONNSTRING))
using (SqlCommand cmd = new SqlCommand("StoredProc", conn)) {
cmd.CommandType = CommandType.StoredProcedure;
SqlCommandBuilder.DeriveParameters(cmd);
cmd.Parameters["param1"].Value = "12345";
// ....
}