LINQ mit Group By-und Having-Klausel mit Min(string)

Gibt es Beispiele mit Gruppe von - having count oder wählen Sie mindestens Datum mit linq auf dem web, aber ich konnte nicht finden eine Lösung für meine Frage. Und auch ich habe nicht eine erweiterte linq-verstehen-kombinieren Sie diese Lösungen, die ich bisher gefunden.

Ich habe eine SQL-Abfrage wie diese:

select client_id 
from my_table /* Column1 : client_id, Column2 : _month */
group by client_id
having min(_month) = '2009-11'

Meine Frage ist: Wie konvertiere ich diese Abfrage in c# linq?.
So weit schrieb ich etwas davon, aber es gibt nicht, was ich habe:

var query = dataTable.AsEnumerable() //This is my_table
  .GroupBy(c => c.Field<Int32>("client_id"))
  .Select(g => new
  {
      g.Key,
      minMonth = g.Min(c => c.Field<string>("_month"))
  })
  .Where(d => d.minMonth == "Some String like '2009-11'");   

Es tatsächlich gibt mir das Ergebnis dieser SQL, die ich nicht brauchen:

select client_id, min(_month) 
from my_table 
where _month = '2009-11' 
group by client_id

Hinweis: _month ist eine Zeichenkette, die formatiert ist, wie JJJJ-MM.

InformationsquelleAutor Barry Guvenkaya | 2014-07-21

Schreibe einen Kommentar