Вы не можете преобразовать DBNull.Value
в Int64
, поскольку ваш код пытается сделать это в Convert.ToInt64
. DBNull.Value
означает «неизвестный» или «несуществующий», и поэтому нет логического преобразования в любой другой тип данных.
Если экземпляр materialIn
является некой формой строго типизированного DataRow
, он будет иметь метод SetMeasurementIdNull
, который вам и нужно использовать. Если вы используете Linq для SQL или EF, вам вообще не нужно иметь дело с DBNull
, вместо этого вы должны просто написать materialIn.measurementId = null
.