Wenn ich eine LINQ-Anweisung wie
habe %Vor%Wie kann ich "id" und "name" durch übergebene Variablen mittels Reflektion ersetzen? Ich bekomme immer Objektreferenz nicht auf Instanz eines Objekts Fehler gesetzt, wenn ich es versuche. Meine Versuche sind Dinge wie
%Vor%Jede Hilfe wäre großartig. Danke.
Sie sollten Expression Trees anstelle von Reflektion verwenden. Es wird besser funktionieren, und Sie können es mit LINQ to Objects und LINQ to SQL / Entities verwenden.
%Vor% Dann können Sie Name
-Eigenschaft mit Reflektion erhalten (Sie werden es nur einmal tun, also ist es in Ordnung, dies mit Reflektion zu tun.
Test
class ist definiert als
Sie können Reflektion nicht verwenden, aber Sie können dynamisches Linq wie beschrieben verwenden hier . Wenn Sie Entity Framework dafür verwenden, sollten Sie auch Entity SQL verwenden können, was im Grunde eine fest codierte SQL-Zeichenfolge ist.
Tags und Links c# linq reflection