That's exactly what I'm trying to avoid haha. Looking at the KDBC example code I'd implement what I want like this:
In the init block I'd have a group(c.id()) function that tells KDBC to group the results on the customer id. In the get() method I'd then receive each grouped list of rows which I could then easily transform into a Customer with a list of Orders.