IQueryable data retrieval

- Replaced IEnumerable usages where the actual type is IQueryable,
because downcasting Queryable to IEnumerable results in set enumeration
on each linq call.