Betrachten wir diese Klasse haben, die für die aggregierten Berichte verwendet wird:Dynamische Linq: Wählen Sie neue Objekt bekannter Art
public class ReportSeriesData
{
public string Title { get; set; }
public double Value { get; set; }
public ReportSeriesData()
{
}
public ReportSeriesData(string Title, double Value)
{
}
}
Ich benutze Dynamic Linq zu Gruppenbogen und dann würde Ich mag die Ergebnisse in Liste der zur Auswahl ReportSeriesData
var reportData = list.AsQueryable().GroupBy(UserSelectedField, "it").Select("new (it.Key as Title, it.Count() as Value) as ReportSeriesData");
Die obige Aussage erzeugt einen Fehler:
eine Ausnahme vom Typ ‚System.Linq. Dynamic.ParseException‘aufgetreten in System.Linq.Dynamic.dll wurde aber in Benutzercode
Zusätzliche Informationen nicht behandelt: Syntaxfehler
Was ist der richtige Weg ist zu wählen Objekt bekannter Art in dynamischer Linq ?
nur zu wissen, warum verwenden Sie dynamische Linq und nicht die "klassische" Linq? In Linq ist diese Art von Abfrage ziemlich einfach zu schreiben - vielleicht können Sie sie sogar mischen. – gobes
@gobes Ich benutze Dynamic Linq, weil ich in der Lage sein möchte, ein Feld zur Laufzeit zu gruppieren, außerdem wird der Typ der Quelldaten ebenfalls zur Laufzeit generiert, so dass ich keine klassische linq verwenden kann – jekcom