¿Cómo crear el parámetro Sql de NVarchar (max) en C #? [duplicar

Esta pregunta ya tiene una respuesta aquí:

¿Qué tamaño utiliza para varchar (MAX) en su declaración de parámetros? 4 respuestas

Tengo el siguiente código para retirar una DataTable usando un procedimiento almacenado e ingresando un parámetro de cadena @JobNumbers, que es una cadena de números de trabajo creada dinámicamente (y, por lo tanto, la longitud es desconocida):

using (SqlConnection connection = new SqlConnection(con))
        {
            SqlCommand cmd = new SqlCommand("dbo.Mystoredprocedure", connection);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@JobNumbers", SqlDbType.VarChar, 4000);
            cmd.Parameters["@JobNumbers"].Value = JobNumber;

            SqlDataAdapter da = new SqlDataAdapter(cmd);

            connection.Open();
            da.Fill(JobDetails);
        }

omo puede ver, actualmente he establecido el parámetro JobNumber en una longitud de 4000, que debería ser suficiente para tomar alrededor de 500 números de trabajo y debería ser suficiente. Sin embargo, existe la posibilidad de que pueda necesitar más en alguna ocasión. Entonces, me preguntaba, ¿hay alguna manera de establecer el parámetro en el tipo de parámetro sql equivalente de nvarchar (max)?

He echado un vistazo a varias preguntas similares ¿Cuál es el mejor método para pasar parámetros a SQLCommand?) pero ninguno dice específicamente si puedes (o no puedes) hacer esto. En segundo lugar, ¿es incluso necesario hacer esto si configuro el parámetro @JobNumber en el procedimiento almacenado en nvarchar (max) y, por lo tanto, presumiblemente no necesitaría establecer la longitud en C #? Si hago esto, esto tendrá problemas potenciales de rendimiento como se sugiere en esta pregunta ¿Cuándo deberían usarse "SqlDbType" y "size" al agregar los parámetros de SqlCommand??

Respuestas a la pregunta(1)

Su respuesta a la pregunta