jion 左表 比 右表 少几行数据

小小骨头 2014-12-15 10:05:12
       var dtDeviceDataSum = (from a in dtDeviceDataSameSum
join b in dtDeviceDataDiffSum
on (Convert.ToDateTime(a.currtime).Day)
equals (Convert.ToDateTime(b.currtime).Day)
into c
from o in c.DefaultIfEmpty()
select new
{
dateType = Convert.ToDateTime(a.currtime).Day,
currQty = System.DBNull.Value.Equals(a.currElectQty) ? 0 : a.currElectQty,
beforeQty = o.currElectQty.HasValue ? o.currElectQty : decimal .Zero
}).ToList();


dtDeviceDataDiffSum比少dtDeviceDataSameSum几行数据,
所以这个beforeQty是有可能为null的,我这么写按理说没错啊,
为什么一直报“未将对象引用到实例” 。

...全文
127 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
S314324153 2014-12-16
  • 打赏
  • 举报
回复
用之前,先判断下是否为空
q107770540 2014-12-15
  • 打赏
  • 举报
回复
非常简单: beforeQty =(o!=null && o.currElectQty.HasValue ) ? o.currElectQty.Value : decimal .Zero

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧