将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() };