从 rows.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。这可能吗?
感谢您的帮助,
~ck