ef中sum()异常
到值类型System.Double的强制转换失败,因为具体化值为null
public class Model
{
public double Money{get;set;}
}
因为从db中取出的值为null
db.ModelSets.Where(x=>x.id==111).Sum(z=>(double?)z.Money);
另外异常:
System.InvalidOperationException:可为空的对象必须具有一个值
因为:实例化对象时有值为空,需要做判断设置默认值
foreach(var x in source)
{
var mons = db.ModelSets.Where(y=>y.id ==123).Sum(z=(double?)z.Money);
double inn =mons.HasValue?mons.Value:0;
x.Money = inn;
}