Entity Framework 6 - Dynamically creating temporary tables from IQueryable (Part 1 of 2)