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.