Have you tried not to use join
but just:
from customer in LoadXMLCustomers()from order in LoadXMLOrders()where customer.CustomerID = order.CustomerIDselect new PostXMLJoinOrder...
Just notice that in such query LoadXMLOrders()
can be called once again for each customer. So pre-save it first.
Also don't forget to materialize queries calling ToArray()
/ToList()
.