后台报错:
到值类型“System.Double”的强制转换失败,因为具体化值为 null。结果类型的泛型参数或查询必须使用可以为 null 的类型。
错误分析:
数据库中表 O38H 的值为null
var data_m2 = (
from s in avgStation
join d in data_m1 on s.STATIONCODE equals d.STATIONCODE
select new
{
REGIONCODE = s.REGIONCODE,
MONIDATE = d.MONIDATE,
CO = (decimal)d.CO,
NO2 = (short)d.NO2,
O3 = (short)d.O3,
O38H = 0,//(short)d.O38H,
PM10 = (short)d.PM10,
PM25 = (short)d.PM25,
SO2 = (short)d.SO2
}
).GroupBy(t => new { t.REGIONCODE, t.MONIDATE }).Select(s => new
{
s.Key.REGIONCODE,
s.Key.MONIDATE,
CO = s.Average(x => x.CO),
NO2 = s.Average(x => x.NO2),
O3 = s.Average(x => x.O3),
O38H = s.Average(x => x.O38H),
PM10 = s.Average(x => x.PM10),
PM25 = s.Average(x => x.PM25),
SO2 = s.Average(x => x.SO2)
});