Expresión de llamada dentro de un LINQ a Entities Select con LINQkit

Esto es lo que quiero hacer:

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
            }
        );
    }
}

ACTUALIZACIÓN:

myExpression tiene que permanecer separado de mi consulta, porque quiero reutilizarla en varias consultas LINQ.

ACTUALIZACIÓN 2:

ApartadomyExpression dentromyExpression1 ymyExpression2 para aclarar el hecho de que quiero reutilizarlos por separado.

ACTUALIZACIÓN 3:

Se agregó LINQkit al ejemplo.

Problema 1 throws: no se puede lanzar un objeto de tipo 'System.Linq.Expressions.FieldExpression' al tipo 'System.Linq.Expressions.LambdaExpression'.

Problema 2 arroja: Error interno del proveedor de datos de .NET Framework 1025.

Respuestas a la pregunta(2)

Su respuesta a la pregunta