SqlParameter com o valor padrão definido como 0 não funciona como esperado
Eu estava fazendo algo assim:
SqlParameter param = new SqlParameter("@Param", 0) { SqlDbType = SqlDbType.Int };
private void TestParam(SqlParameter param) {
string test = param.Value.ToString(); // Getting NullReferenceException here
}
Mas eu paro de receber a exceção quando a coloco assim:
SqlParameter param = new SqlParameter("@Param", SqlDbType.Int) { Value = 0 };
private void TestParam(SqlParameter param) {
string test = param.Value.ToString(); // Everything OK
}
Alguém pode me dizer por que SqlParameter assume que 0 é igual a nul
Editar MSDN Explica isso aqui:SqlParameter Constructor