Moin,
wenn die daten mit
var data = .....ToList();
abgerufen werden, ligeen sie -logischerweise- erst einmal in data. In deinem (MVC)View greifst du auf ein Model zu (@model), welches dem View bei Aufruf übergeben wird. var data ist aber kein Teil des Models; hierzu müssten die Daten aus data in
das Model übergeben werden; im Zweifelsfalle an IEnumerable<...Tabellenname>
Wo geschieht die Gruppoering? In der Datenbankview? Dann ist das aus sicht deiner Anwendung eh unerheblich und du hast vermutlich eine Entität in etwa wie 'Projektname.Models.MeineGroupView'. Schau di im Zweifel einfach mal an, von welchem Typ deine
var data ist.
Oder geschieht das gruppieren erst im Code? Wenn ja, auf welche Art? Ich habe nachfolgend mal ein einfaches Beipiel in Linqpad gebaut, welche aus einer Liste von 'MyPerson' eine Liste von 'MyGroup' erstellt. Hier könnte dann ein Objekt vom Typ List<MyGroup>
an die MVC View übergeben werden:
public class MyPerson
{
public int PersonId {get;set;}
public string Name {get;set;}
public DateTime Login { get; set; }
}
public class MyGroup
{
public int PersonId { get; set; }
public string Name { get; set; }
public int Logins { get; set; }
}
// App Code
public void Main()
{
var basedata = new List<MyPerson>();
basedata.Add(new MyPerson { PersonId = 1, Name = "Arbeiter Eins", Login = DateTime.Now });
basedata.Add(new MyPerson { PersonId = 2, Name = "Angestellter Zwei", Login = DateTime.Now });
basedata.Add(new MyPerson { PersonId = 3, Name = "Auszubildender Drei", Login = DateTime.Now });
basedata.Add(new MyPerson { PersonId = 1, Name = "Arbeiter Eins", Login = DateTime.Now });
basedata.Add(new MyPerson { PersonId = 2, Name = "Angestellter Zwei", Login = DateTime.Now });
basedata.Add(new MyPerson { PersonId = 1, Name = "Arbeiter Eins", Login = DateTime.Now });
var grouped = basedata.GroupBy(i => new {i.PersonId, i.Name}).Select(i => new MyGroup { PersonId = i.Key.PersonId, Name = i.Key.Name, Logins = i.Count()}).ToList();
grouped.Dump();
}