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.