Запросы не являются выражениями. Запрос имеет ExpressionTree.
Запросы не являются вызываемыми методами.
Запросы могут быть Перечислены, давая свои результаты. Этот код будет перечислять любой IQueryable:
List<object> result = query.Cast<object>().ToList();
Моя конечная цель - оценить
один и тот же запрос на нескольких разных данных
контексты.
Затем вы должны написать свои запросы как генераторы запросов, которые принимают DataContext в качестве параметра.
Func<MyDataContext, IQueryable<Customer>> queryGen =
(dc) => dc.Customers.Where(c => c.Name == "Bob");
//now we can get some queries
IQueryable<Customer> query1 = queryGen(new MyDataContext());
IQueryable<Customer> query2 = queryGen(new MyDataContext());