Выражение вызова в LINQ to Entities Выбрать с помощью LINQkit

Вот что я хочу сделать:

class MyDbContext : DbContext 
{
    private static Expression<Func<MyClass, int>> myExpression1 = x => /* something complicated ... */;
    private static Expression<Func<Item, int>> myExpression2 = x => /* something else complicated ... */;

    public object GetAllData()
    {
        return (
            from o in MyClassDbSet.AsExpandable() 
            select new 
            {
                data1 = myExpression1.Invoke(o),                      // problem 1
                data2 = o.Items.Select(myExpression2.Compile())       // problem 2
            }
        );
    }
}

ОБНОВИТЬ :

myExpression должен оставаться отделенным от моего запроса, потому что я хочу повторно использовать его в нескольких запросах LINQ.

ОБНОВЛЕНИЕ 2:

отделенныйmyExpression вmyExpression1 а такжеmyExpression2 чтобы прояснить тот факт, что я хочу использовать их отдельно.

ОБНОВЛЕНИЕ 3:

Добавлен LINQkit к примеру.

Проблема 1 throws: Невозможно привести объект типа «System.Linq.Expressions.FieldExpression» к типу «System.Linq.Expressions.LambdaExpression».

Проблема 2 бросает: Внутренняя ошибка .25 поставщика данных .NET Framework.

Ответы на вопрос(2)

Ваш ответ на вопрос