2016-05-05 5 views
0

Ich habe eine Tabellenansicht, die ungefähr so ​​aussieht.Ergebnisse anzeigen, die ein gemeinsames Feld in MVC enthalten

ID Name Gender Country 
1 Joe  M  UK 
2 Anna  F  UK 
3 Karl  M  UK 
4 Jane  F  US 
5 Drake  M  US 

Wenn ich nach M (Geschlecht) suche, bekomme ich dieses Ergebnis.

ID Name Gender Country 
1 Joe  M  UK 
3 Karl  M  UK 
5 Drake  M  US 

Aber ich will nur ein Ergebnis pro Land und dann würde Ich mag Gesamtzahl der Männer in diesem Land hinzuzufügen und übergeben es an Viewdata [ „Total“], wie unten gezeigt.

ID Name Gender Country Total 
1 Joe  M  UK  2 
5 Drake  M  US  1 

Im Moment habe ich nur einen einfachen Code. Ich würde mich über irgendwelche Ideen diesbezüglich freuen.

Public ActionResults Gender(string search) 
{ 
    return view = db.Gender_View.Where(Gender_View => Gender_View.gender == search).ToList(); 
} 
+0

Sie müssen eine '.GroupBy (x => x.Country)' verwenden und dann die Ergebnisse in eine 'Total'-Eigenschaft zählen –

Antwort

0

Sie können dies mit dem folgenden Code erreichen. Sie müssen die Gruppe nach Land anwenden.

Public ActionResults Gender(string search) 
{ 
    var result = db.Gender_View.Where.Where(x => x.gender = search) 
    .GroupBy(x => x.Country) 
    .Select(x => new 
    { 
     Country = x.Key, 
     Count = x.Count() 
    }).ToList(); 

    ViewBag.Result = result; 
    return View(); 
} 
Verwandte Themen