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.