Wyrażenie wywołania w LINQ do jednostek Wybierz za pomocą LINQkit

Oto, co chcę zrobić:

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

AKTUALIZACJA :

myExpression musi pozostać oddzielony od mojego zapytania, ponieważ chcę go ponownie wykorzystać w wielu zapytaniach LINQ.

AKTUALIZACJA 2:

RozdzielonymyExpression wmyExpression1 imyExpression2 wyjaśnić fakt, że chcę je ponownie wykorzystać oddzielnie.

AKTUALIZACJA 3:

Dodano przykład LINQkit.

Problem 1 rzuca: nie można rzutować obiektu typu „System.Linq.Expressions.FieldExpression” na typ „System.Linq.Expressions.LambdaExpression”.

Problem 2 zgłasza: Wewnętrzny błąd dostawcy danych .NET Framework 1025.

questionAnswers(2)

yourAnswerToTheQuestion