Ist es möglich, kompilierte LINQ to SQL-Abfragen umzuformen? Angenommen, ich habe eine Abfrage mit einer gewissen Logik, und ich möchte darauf aufbauen. Ist es möglich, diese Abfrage wiederzuverwenden?Wie refigiere ich kompilierte LINQ-Abfragen?
Beispiel: Angenommen, ich eine grundlegende Abfrage haben aktive Elemente zu erhalten:
Func<DataContext, IQueryable<Item>> GetActiveItems =
CompiledQuery.Compile((DataContext context) =>
context.Items.Where(item => item.IsActive));
Ich möchte auf dem obigen Ausdruck bauen, um eine weitere Abfrage zu machen. Die Dokumentation von CompiledQuery
zeigt an, dass ich einen anderen Operator für das Ergebnis des kompilierten Delegaten nicht anwenden kann. Was ist der empfohlene Weg, solche Ausdrücke zu refaktorisieren?
Ich denke, ich sollte eine Expression
verwenden, aber wie sollte es verwendet werden? Oder gibt es einen besseren Weg?
Vielen Dank. 'PredicateBuilder' war nicht die beste Lösung, aber LinqKits 'Expand'-Methode war genau das, was ich brauchte. Wenn Sie Ihre Antwort bearbeiten könnten (vorzugsweise mit einem kleinen Beispiel), nehme ich sie gerne an. –