var results = (Context.invoices // Start at invoices because this is the list we really care about .Include(inv => inv.client) // Eager load the client so it doesn't require additional queries .Where(inv => inv.invoiceamount >= InvoiceAmount) .OrderBy(x=x.cientid) .ThenByDescending(x => x.invoiceamount)// Filter results .GroupBy(inv => inv.client) // Group results by client so we can loop through the clients .ToList()); // Execute the queryIf that doesn't work I'm running out of ideas :-}