Frage:
Können wir LINQ-Abfragen dynamisch erstellen, ohne den Quellcode zu ändern? In diesem Szenario würden Abfrageparameter aus einer in der Datenbank gespeicherten XML-Konfiguration extrahiert.
Beispiel:
var result = from i in someObj where name = 'Bob'
Dynamische Abfragegenerierung:
Antwort:
Ausdrucksbäume Angebot eine Lösung für diese dynamische Abfragegenerierung. Hier ist ein Codebeispiel:
var param = Expression.Parameter(typeof(SomeObject), "p"); var exp = Expression.Lambda<Func<SomeObject, bool>>( Expression.Equal( Expression.Property(param, "Name"), Expression.Constant("Bob") ), param ); var query = someObj.Where(exp);
Erklärung:
Hinweis: Dieser Ansatz ist komplexer, bietet aber Flexibilität für Situationen, in denen eine dynamische Abfragekonstruktion aus einer XML-Konfiguration unerlässlich ist.
Das obige ist der detaillierte Inhalt vonKönnen dynamische LINQ-Abfragen aus der XML-Konfiguration erstellt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!