System.LINQ.Dynamic: Wählen Sie ("new (…)") in einer Liste <T> (oder einer anderen Auflistung von <T>) aus.

Angenommen, ich habe eine Datentabelle mit vier Spalten: Firma (Zeichenfolge), Fonds (Zeichenfolge), Status (Zeichenfolge), Wert (doppelt):

    table1.Rows.Add("Company 1","Fund 1","NY",100));
    table1.Rows.Add("Company 2","Fund 1","CA",200));
    table1.Rows.Add("Company 3","Fund 1","FL",300));
    table1.Rows.Add("Company 4","Fund 2","CA",400));
    table1.Rows.Add("Company 5","Fund 1","NY",500));
    table1.Rows.Add("Company 6","Fund 2","CA",600));
    table1.Rows.Add("Company 7","Fund 3","FL",700));

Ich möchte mit System.LINQ.Dynamic eine dynamische Abfrage erstellen, die entweder nach Firma, Fonds oder Staat gruppiert, und dann meine Gruppe nach Kriterien als erste Spalte und Summe (Wert) auswählen:

string groupbyvalue="Fund";
var q1= table1.AsEnumerable().AsQueryable()
              .GroupBy(groupbyvalue,"it")
              .Select("new ("+groupbyvalue+" as Group, Sum(Value) as TotalValue)");

In der obigen Abfrage ist der ausgewählte groupby-Wert (Group) immer eine Zeichenfolge und die Summe ist immer eine doppelte. Daher möchte ich in der Lage sein, eine Liste zu erstellen, in der Result ein Objekt mit Eigenschaften Group (string) ist ) und TotalValue (double).

Ich habe große Probleme damit, kann jemand etwas Licht ins Dunkel bringen?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage