zoukankan      html  css  js  c++  java
  • Linq To Sql 一个小技巧

    今天碰到一个问题

    var totalAmount = _context.UsersMonthCharges.Where(p=>p.UserName == UserName).Sum(data => data.Amount);

    Amount 为decimal类型

    当查询的 UsersMonthCharges 不存在这个用户的时候

    会抛出 不能将 Null 值赋给类型为 System.Decimal (不可为 null 的值类型)的成员。

    这个异常,解决方法,搜索了下google,没找到答案

    自己开动脑筋....

    猜测他的推断数据结果类型是根据 data => data.Amount 这个Amount来获取,尝试取巧方法:

    var totalAmount = _context.UsersMonthCharges.Where(p=>p.UserName == UserName).Sum(data => (decimal?)data.Amount);

    发现 鼠标放在Sum函数上,哈,果然不出所料,结果类型已经被推断为 decimal?

    重新编译执行,的确已经解决这个问题,结果为 null

    简单搞定这个问题

  • 相关阅读:
    Picture
    wolf and rabbit
    十进制转换为二进制(一直不会算的)
    各种排序
    折线分割平面
    字母数
    1001
    Primes
    大数的减法神秘数
    转: Windows Internet WinINet 学习笔记(2)
  • 原文地址:https://www.cnblogs.com/mine/p/1399770.html
Copyright © 2011-2022 走看看