Ausdruck innerhalb einer LINQ to Entities aufrufen Mit LINQkit auswählen

Folgendes möchte ich tun:

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

UPDATE:

myExpression muss von meiner Abfrage getrennt bleiben, da ich sie in mehreren LINQ-Abfragen wiederverwenden möchte.

UPDATE 2:

GetrenntmyExpression inmyExpression1 undmyExpression2 um klarzumachen, dass ich sie separat wiederverwenden möchte.

UPDATE 3:

LINQkit zum Beispiel hinzugefügt.

Problem 1 löst aus: Ein Objekt vom Typ 'System.Linq.Expressions.FieldExpression' kann nicht in 'System.Linq.Expressions.LambdaExpression' umgewandelt werden.

Problem 2 löst aus: Interner .NET Framework-Datenprovider-Fehler 1025.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage