I’m experiencing this error…
variable ‘paymentLine’ of type ‘Xrm.sb_directdebitpaymentline’ referenced from scope ”, but it is not defined
… when I attempt to do ‘paymentLines.ToList()’ after the following code:
var payments = from payment in Crm.sb_directdebitpayments
where payment.statuscode == 1
&& Crm.sb_directdebitmandates.Any(mandate =>
mandate.sb_directdebitmandateid ==
payment.sb_directdebitmandateid &&
mandate.statuscode == 1)
select payment;
var paymentLines = from paymentLine in Crm.sb_directdebitpaymentlines
where paymentLine.sb_paymentsent == isSent
&& paymentLine.statuscode == status
&& payments.Any(payment =>
payment.sb_directdebitpaymentid ==
paymentLine.sb_directdebitpaymentid &&
payment.statuscode == 1)
select paymentLine;
If anyone has any ideas on how to fix this, I’d be very grateful!
It is a curious combination of query syntax and extension methods (Any).
It looks like a variation on the capture loop var problem. Execution of
paymentLinesis deferred, so what value does the capturedpaymentLineline have when thepayments.Any( )is executed?Try to rewrite it as a Join.