Understanding the LINQ architecture