我有 3 份清单,一份给用户的付款清单,一份为同一笔付款支付的税款清单,一份为同一笔付款支付的州税清单。
问题是,每笔付款可能不存在税收或州税,因此我需要将每笔单独的付款与已支付的税款或州税相匹配,但如果其中一项或两项都不存在,则继续显示。这是有问题的特定查询,因为我现在拥有它
var joinEverything =
from IP in IndividualPaymentsList
join TD in TaxDetailsList.DefaultIfEmpty()
on IP.UserId equals TD.UserId
where IP.WeekEndDate == TD.WeekEndDate
join ST in StateTaxDetailsList.DefaultIfEmpty()
on IP.UserId equals ST.UserId
where IP.WeekEndDate == ST.WeekEndDate
select new
{
IP.UserId,
FedTax = TD.CheckAmount,
StateTax = ST.CheckAmount,
IP.CheckAmount,
};
目前,如果在例如州税中不存在记录,我会收到“NullReferenceException:对象引用未设置为对象实例”。而不仅仅是接受 null 作为 ST.CheckAmount 中的值