public async Task <LeftCollection> List(LeftQuery query) { var dbQuery = await query.Create(this.Entities); var total = await dbQuery.CountAsync(); dbQuery = dbQuery.Skip(query.SkipTo(total)).Take(query.Limit); var results = await mapper.ProjectLeft(dbQuery).ToListAsync(); return(new LeftCollection(query, total, results)); }