Linq groupby和count操作在mvc

时间:2011-04-12 18:29:42

标签: linq

所以这是我的表

MyCourse (MyCourseID, CourseNumber, CourseName, SemesterName, Year)

现在,如果该表包含以下数据

ENG1200 'Basic English' Spring 2011
ENG1200 'Basic English' Spring 2011

我只是尝试将CountNumber和CourseNumber一起提取,如下所示

ENG1200 'Basic English' Spring 2011 2

然后将其插入到一个新的强类型类中,以便我可以在我的View中使用它。 但linq语句打印每个类的计数为1。

ENG1200 'Basic English' Spring 2011 1
ENG1200 'Basic English' Spring 2011 1

非常感谢任何帮助。

这是我正在使用的linq代码:

 public IQueryable<VotedCourses> GetVoted_Courses()
    {

        var votedCourses = courseDB.MyCourses.GroupBy
            (x => new
            {
                x.MyCourseID,
                x.CourseNumber,
                x.CourseName,
                x.SemesterName,
                x.Year
            })
            .Select(x =>
             new VotedCourses
             {
                 MyCourseID = x.Key.MyCourseID,
                 CourseNumber = x.Key.CourseNumber,
                 CourseName = x.Key.CourseName,
                 SemesterName = x.Key.SemesterName,
                 Year = x.Key.Year,
                 VoteCount = x.Count()
             });
        return votedCourses;
    }

1 个答案:

答案 0 :(得分:1)

我注意到你的匿名类型中包含x.MyCourseID。此列不在您的示例中,它看起来像一个标识。我猜这个列在两个记录之间是不同的。我将其从类型中删除,然后重试。