El parámetro de SQL es anulable

A través de la class SqlParameter (para C #) puedo ver parameters en un procedimiento almacenado.

¿Cómo se sabe si un parámetro es obligatorio o no? Intenté usar IsNullable, pero siempre es falso.

Tal vez estoy escribiendo un procedimiento almacenado incorrecto, o IsNullable significa solo para establecer?

Gracias

"Opcional" simplemente significa que hay un valor pnetworkingeterminado para los parameters del procedimiento almacenado.
De lo contrario, todos los parameters pueden ser NULL: no hay una restricción de definición para detener esto.

Tendría que analizar el proc almacenado T-SQL para ver el valor pnetworkingeterminado, según esta respuesta. ¿Hay alguna solución para get el valor pnetworkingeterminado de los parameters de un procedimiento almacenado dado?

Y si puede analizar la definición del process almacenado, entonces comienza a perder los beneficios de la encapsulación

En Codebehind, use esto para verificar si los valores de la database son nulos o no.

bool isnull = Convert.IsDBNull(yourvalue); 

En SQL use ISNULL (check_expression, replacement_value)

 select ISNULL(columnname, 0) from tablename