【发布时间】:2021-10-09 15:08:12
【问题描述】:
我正在使用 Entity Framework Core 开发一个 asp.net Web 应用程序。我有一份学生、科目和分数的清单。我需要一个包含主题名称、特定主题的所有分数和平均分数的表格。
我可以用两个不同的查询来做到这一点。但是我放入所有这些的表格应该是可排序的,当表格由两个不同的来源形成时很难排序。我尝试用一个 linq 查询来解决我的问题。
Subject | List of Marks | Average
我尝试传递给视图的 DTO 类如下:
public class Marks
{
public string Name;
public List<int> Mark;
public double Avg;
}
我想出的 linq 如下:
var gradesIQ = _context.Gradebooks
.Include(s => s.Student)
.Where(s => s.LessonDate.Month == month && s.LessonDate.Year == year
&& s.Student.GradeId == gradeId && s.StudentId == studentId && s.Mark != "0")
.Select(s => new
{
Name = s.Subject.Name,
Mark = s.Mark
})
.GroupBy(s => s.Name)
.Select(g => new Marks
{
Name = g.Key,
Avg = g.Average(s => Convert.ToInt32(s.Mark)),
Mark = ??? //should be List<int> Mark
});
请帮我为这个问题创建一个 linq。
【问题讨论】:
标签: c# linq entity-framework-core