¿Qué tamaño usas para varchar (MAX) en tu statement de parámetro?

Normalmente establezco el tamaño de mi columna al crear un parámetro en ADO.NET

¿Pero qué tamaño uso si la columna es VARCHAR(MAX) ?

 cmd.Parameters.Add("@blah", SqlDbType.VarChar, ?????).Value = blah; 

En este caso, usa -1.

Para aquellos de nosotros que no vieron -1 por Michal Chaniewski, la línea completa de código:

 cmd.Parameters.Add("@blah",SqlDbType.VarChar,-1).Value = "some large text"; 

El tamaño máximo de SqlDbType.VarChar es 2147483647.

Si utilizara una conexión oledb genérica en lugar de sql, he encontrado aquí que también hay un tipo de datos LongVarChar. Su tamaño máximo es 2147483647.

 cmd.Parameters.Add("@blah", OleDbType.LongVarChar, -1).Value = "very big string"; 

No necesita pasar el parámetro de tamaño, simplemente declare que Varchar ya entiende que es MAX como:

 cmd.Parameters.Add("@blah",SqlDbType.VarChar).Value = "some large text";