Я получаю сообщение об ошибке при выборе из строки. AsEnumerable ().Я использую следующий код ...
var rows = ds.Tables[0].AsEnumerable();
trafficData = rows.Select(row => new tdDataDC
{
CalculationCount = row.Field<Int64>("biCalculationCountSeqID")
, Zone = row.Field<Int16>("siFkZoneId")
, Miles = row.Field<decimal>("dcMiles")
, Plaza = row.Field<Int16>("siFkPlazaId")
, VehicleCount = row.Field<int>("iVehicleCount")
});
Большую часть времени это работает хорошо, но когда в базе данных есть NULLS, я получаю эту ошибку "Не могу привести DBNull.Value к типу 'System.Int16 '. Пожалуйста, используйте обнуляемый тип .. "Как я могу это исправить?Я не хочу, чтобы мои контракты данных имели типы Nullable, я хотел бы использовать троичный или что-то еще, и если значение равно NULL, просто используйте 0. Это возможно?
Спасибо за любую помощь,
~ ск