Como criar um parâmetro de parâmetro NVarchar (max) em c #? [duplicado

Esta pergunta já tem uma resposta aqui:

Que tamanho você usa para varchar (MAX) na sua declaração de parâmetro? 4 respostas

Eu tenho o código a seguir para retroceder uma DataTable usando um procedimento armazenado e inserindo um parâmetro de seqüência de caracteres @JobNumbers, que é criado dinamicamente sequência de números de tarefas (e, portanto, o comprimento é desconhecido):

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);
        }

Como você pode ver, atualmente eu configurei o parâmetro JobNumber para um comprimento de 4000, o que deve ser suficiente para receber cerca de 500 números de trabalhos e deve ser suficiente. No entanto, existe a possibilidade de que ele precise de mais na ocasião ímpar. Então, eu queria saber, existe uma maneira de definir o parâmetro para o tipo de parâmetro sql equivalente a nvarchar (max)?

Eu já vi várias perguntas semelhantes Qual é o melhor método para passar parâmetros para o SQLComman) mas ninguém diz especificamente se você pode (ou não) fazer isso. Em segundo lugar, é necessário fazer isso se eu definir o parâmetro @JobNumber no procedimento armazenado como nvarchar (max) e, portanto, presumivelmente não precisaria definir o comprimento em c #? Se fizer isso, isso terá possíveis problemas de desempenho, conforme sugerido nesta perguntaQuando "SqlDbType" e "size" devem ser usados ao adicionar parâmetros SqlCommand??

questionAnswers(1)

yourAnswerToTheQuestion