2016-05-05 2 views
0

私はこのような外観のテーブルビューを持っています。MVCで共通のフィールドを含む結果を表示

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

私がM(性別)を検索すると、この結果が得られます。

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

しかし、私は唯一の国ごとに結果をしたいし、私は以下に示すように、[「トータル」]その国で男性の合計数を追加し、ViewDataをに渡ししたいと思います。

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

現時点では、単純なコードしかありません。私はこれに関するアイディアを感謝します。

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

'.GroupBy(x => x.Country)'を使用し、結果を 'Total'プロパティにカウントする必要があります –

答えて

0

これは次のコードで実現できます。国別にグループを適用する必要があります。

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(); 
} 
関連する問題