的选择财产一直收到ArgumentNullException“值不能为空参数名:内。”有以下LINQ:LINQ左加入 - 离开实体
var dataSource = (from v in vouchers
join payAdj in paymentAdjustments on v.VoId equals payAdj.VoId into pTemp
from p in pTemp.DefaultIfEmpty()
select new
{
VoId = v.VoId,
OpId = v.OpId,
PaValue = p.PaValue
});
两个凭证,paymentAdjustments是实体名单。
我已阅读了很多关于此的帖子,我尝试的所有内容都一直给我提供相同(或类似)的错误。
访问PaValue即PaValue = P之前铸造PaValue到可为空的小数即PaValue =(十进制?)p.PaValue
测试p表示空!= NULL? p.PaValue:(十进制)0
- 使用的SingleOrDefault
(应该只有一个),而不是DefaultIfEmpty
在paymentAdjustments做嵌套查询,而不是加入...成即PaValue =(从对 其中p.VoId == v.VoId 选择p.PaValue).DefaultIfEmpty()
我使用C#2010 Express和.NET 4
任何OT她的建议将不胜感激。
感谢 马林
您的查询看起来不错。你能告诉我们更多关于“代金券”和“支付调整”吗?他们只是集合?如果是这样,你能提供类型定义吗? – Enigmativity
你们每个人都解决了这个问题吗? –