• linq在求和(sum)时发生异常


      在使用linq的时候,我们总会用到sum() 求和方法。

     比如: 

        

    //db 是数据库上下文
    // 求table表中名字=xxx的付款金额
    decimal total = db.Tables.Where(a=>a.Name=="xxx").Sum(a=>a.Payment);

     这时候,如果数据库中没有这个人的记录,则会报出异常 invalidoperationexception:不能将 Null 值赋给类型为 System.Decimal (不可为 null 的值类型)的成员。

    产生原因是,数据库查询得到的结果是null,无法将null 赋值给Decima 类型的变量 totla.

     解决方法是:

      

    decimal total = db.Tables.Where(a=>a.Name=="xxx").ToList().Sum(a=>a.Payment);

       先ToList(),再求和。因为在tolist的时候 会把null 转化为0,所以最后total=0.

      学习学习...

  • 相关阅读:
    判断微信浏览器
    文章迁移
    ECharts使用—折线图动态加载
    vue-cli入门
    gulp使用详解
    gulp使用入门
    Chrome扩展插件流程
    div界面元素生成图片
    xss攻击与防御
    bootstrap-table使用详解
  • 原文地址:https://www.cnblogs.com/yuanyang/p/5714132.html
Copyright © 2020-2023  润新知