将SQL转换为Linq查询

我对Linq查询很新,我只是想将我的数据库查询转换为Linq。

这是我简单的SQL查询:

var query = "SELECT EnrollmentDate, COUNT(*) AS StudentCount " + "FROM Person " + "WHERE EnrollmentDate IS NOT NULL " + "GROUP BY EnrollmentDate"; var data = db.Database.SqlQuery(query); 

运行正常,但是怎么可能在Linq中编写这个查询 ,我只是无法将group by语句转换为Linq。 转换为Linq似乎有些棘手。

谁能帮我这个?

 var result = db.Person .Where(r=> r.EnrollmentDate != null) .GroupBy(r=> r.EnrollmentDate) .Select( group=> new { EnrollmentDate = group.Key, Count = group.Count() }); 
 var query = from row in db.Person where row.EnrollmentDate != null group row by row.EnrollmentDate into grp select new { EnrollmentDate = grp.Key, Count = grp.Count() };