Выражение вызова в 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.