的選擇財產一直收到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
你們每個人都解決了這個問題嗎? –