Jak utworzyć NVarchar (max) Sqlparameter w C #? [duplikować

To pytanie ma już odpowiedź tutaj:

Jakiego rozmiaru używasz dla varchar (MAX) w deklaracji parametru? 4 odpowiedzi

Mam następujący kod do pobrania tabeli danych przy użyciu procedury składowanej i wprowadzenia parametru ciągu @ JobNumbers, który jest dynamicznie tworzonym ciągiem numerów zadań (a zatem długość jest nieznana):

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

Jak widać, aktualnie ustawiłem parametr JobNumber na długość 4000, co powinno wystarczyć do przyjęcia około 500 numerów zadań i powinno wystarczyć. Istnieje jednak możliwość, że przy niecodziennej okazji może potrzebować więcej. Zastanawiałem się, czy istnieje sposób, aby ustawić parametr na równoważny typ parametru sql nvarchar (max)?

Przejrzałem różne podobne pytania Jaka jest najlepsza metoda przekazywania parametrów do SQLCommand?), ale nikt nie mówi konkretnie, czy możesz to zrobić (czy nie). Po drugie, czy jest to nawet konieczne, jeśli ustawię parametr @JobNumber w procedurze przechowywanej na nvarchar (max) i dlatego prawdopodobnie nie musiałbym w ogóle ustawiać długości w C #? Jeśli to zrobię, czy będą to mieć potencjalne problemy z wydajnością, jak sugerowano w tym pytaniuKiedy należy dodać „SqlDbType” i „size” podczas dodawania parametrów SqlCommand??

questionAnswers(1)

yourAnswerToTheQuestion