データベースにテーブルがあります:
[id] [int] IDENTITY(1,1) NOT NULL,
[name] [varchar](150) NOT NULL,
[date_of_birth] [date] NOT NULL,
2 つの列を含む GridView のデータソースを取得する必要があります。
----------------
| age || count |
----------------
| 20 || 3 |
| 21 || 4 |
| 25 || 5 |
----------------
1つのクエリでそれを行うことは可能ですか?
私が試したこと:
var dates = (from u in db.Users
group u by u.date_of_birth into g
select new { age = calculateAge(g.Key) }).ToList();
var dates1 = from d in dates
group d by d.age into g
select new { age = g.Key, count = g.Count() };
GridView1.DataSource = dates1;
GridView1.DataBind();
これは機能しますが、もっと簡単にする方法があると思います。か否か?
PS calculateAge には次の署名があります
private int calculateAge(DateTime date_of_birth)