日期:2014-05-20  浏览次数:20831 次

关于 linq to entity 的字段之间的运算
TotalFeeAmount = list.Sum(x => x.Fee > 0 ? Decimal.Round(Decimal.Multiply(x.Amount, Decimal.Divide((decimal)x.Fee, 100M)), 2) : 0M);
 
这个是用来统计所有手续费
 
Fee是double类型,对应数据库的float类型字段,手续费率
 
Amount是 decimal类型,对应数据库的money类型字段,交易金额
 
 
 
提示linq to entity不支持Deimal.XXX运算,这个如何解决?

------解决方案--------------------
it is easy,you can try this:

TotalFeeAmount = list.ToList().Sum(x => x.Fee > 0 ? Decimal.Round(Decimal.Multiply(x.Amount, Decimal.Divide((decimal)x.Fee, 100M)), 2) : 0M);