microsoft.codeanalysis.csharp 'obj' is null on at least one execution path

Такая проблемма: одно из полей в моей модели может быть null. первые два я проверяю. но на третье (obj.Phone) microsoft.codeanalysis.csharp ругается.

Что нужно сделать, чтоб была возможность передавать null параметр?

command.Parameters.AddWithValue("@Description", obj?.Description);
command.Parameters.AddWithValue("@Address", obj?.Address);
command.Parameters.AddWithValue("@Phone", obj.Phone);

Ответы (1 шт):

Автор решения: ЛАН ТАН

Необходимо было добавить дополнительную проверку. Так как бд должна принимать именно DBNull.Value, а не обычный null (в противном случае свалится с ошибкой The parameterized query expects the parameter which was not supplied.)

(object)obj?.Phone ?? DBNull.Value
→ Ссылка