'where clause' 中的未知列 'Project1.ID'

Unknown column 'Project1.ID' in 'where clause'

我有以下表格

+--------+     +---------+     +---------+
| Class  |1   N| Student |1   N|  Test   |
+--------+<--->+---------+<--->+---------+
|ClassID |     |ClassID  |     |TestID   |
|Desc    |     |StudentID|     |StudentID|
+--------+     |Name     |     |Name     |
               +---------+     |Score    |
                               +---------+ 

我需要确定class的第一个学生的总分。此学生可以有一项、多项或 none 个现有测试

所以结果应该是这样的

ClassDesc | StudentName | ScoreCount
----------+-------------+-----------
C1        | Max         |        201
C2        | Tom         |       null 

我有以下代码

using (myEntities ctx = new myEntities())
{
var Reslut = ctx.Class
        .Select(x => new 
        {
        ClassDesc = x.Desc,
        StudentName = x.Student.FirstOrDefault().Name,
        ScoreCount = x.Student.FirstOrDefault().Test.Sum(t => t.Score) //Error here
        }).ToList();
}

但它给了我错误

Unknown column 'Project1.ClassID' in 'where clause'

尝试以下操作:

var result = (from cls in ctx.Class
                           join stdt in ctx.Student on cls.ClassID equals stdt.ClassID                             
                           select new
                           {
                                  ClassDesc = cls.Desc,
                                  StudentName = stdt.Name,
                                  ScoreCount = stdt.Test.Sum(t => t.Score)
                           }).ToList();

应该生成类似于以下内容的 SQL:

SELECT   
    Class.ClassID,   
    Class.[Desc],  
    Student.Name,  
    (  
       SELECT  
            SUM(Test.Score)  
            FROM dbo.Test  
            WHERE Student.StudentID = Test.StudentID  
    ) AS ScoreSum  
    FROM  dbo.Class  
    INNER JOIN dbo.Student ON Class.ClassID = Student.ClassID