IQueryable для списка

я используюSystem.Linq.Dynamic чтобы позволить мне динамически выбирать список полей из запроса, как это:

finalQuery = query.Select(string.Format("new({0})", string.Join(",", selectors)));

кудаselectors&nbsp;это простоList<string>&nbsp;со всеми полями, которые я хочу. Это прекрасно работает, но эта версия метода расширенияSelect&nbsp;возвращаетIQueryable, Не этоне IQueryable<T>, Если у меня естьIQueryable<T>&nbsp;Я могу просто сделать.ToList()&nbsp;преобразовать его в список и заставить запрос фактически выполняться в базе данных, но с неуниверсальнымIQueryableэтот метод не существует.

Это потому чтоToList&nbsp;наследуется отIEnumerable<T>&nbsp;которыйIQueryable<T>&nbsp;наследует иIQueryableОчевидно, нет.

Итак, какой самый эффективный способ получитьIQueryable&nbsp;выполнить запрос и вернуть мне список? Я могу сделать это:

List<object> rtn = new List<object>();
foreach (var o in finalQuery)
{
    rtn.Add(o);
}

Но похоже, что их должно быть проще.

Изменить: в ответ на предложения, я попробовал оба:

finalQuery.Cast<object>().ToList();

а также:

finalQuery.Cast<dynamic>().ToList();

Которые оба даютNotSupportedExceptions&nbsp;с сообщением:

Unable to cast the type 'DynamicClass1' to type 'System.Object'. LINQ to Entities 
only supports casting EDM primitive or enumeration types.