C# subselect中带sum的linq表达式(实体)

C# subselect中带sum的linq表达式(实体),c#,sql,linq,entity-framework,entity,C#,Sql,Linq,Entity Framework,Entity,我是实体的新手,对LINQ声明有疑问 下面显示的是我的代码,除了TotalFoults字段之外。他总是给0分 有人能帮我吗,因为TotalFoults列中的所有结果的值都大于零 多谢各位 var result = (from sr in db.StudentsResult join F in db.Fouls on sr.Enrollment equals F.Enrollment into F_join from F in F_join.De

我是实体的新手,对LINQ声明有疑问

下面显示的是我的代码,除了TotalFoults字段之外。他总是给0分

有人能帮我吗,因为TotalFoults列中的所有结果的值都大于零

多谢各位

var result = (from sr in db.StudentsResult
             join F in db.Fouls on sr.Enrollment equals F.Enrollment into F_join
             from F in F_join.DefaultIfEmpty()
             join S in db.Students on sr.Enrollment equals S.Enrollment into A_join
             from A in A_join.DefaultIfEmpty()
             where
               F.Day != null
             group new { sr, s } by new
             {
              sr.Enrollment ,
              sr.Name,
              sr.Number,
              sr.Classes,
              s.Discount
             } into g
             orderby
             g.Key.Classes,
             g.Key.Number,
             g.Key.Name
              select new frequencyMod()
               {
              Enrollment = g.Key.Enrollment ,
              StudentName = g.Key.Name,
              StudentFile= g.Key.Number,
              Classes = g.Key.Classes,
              TotalFoults = (from m0 in db.Foults
              where
              m0.Enrollment == g.Key.Enrollment 
              group m0 by new
              {
              m0.Enrollment 
                  } into a
                   select new
                   {
                   Total = a.Sum(p => p.Foults)
                   }).FirstOrDefault().Total
                   }).ToList();

你的代码没有那么漂亮。看起来您正试图以一种丑陋的方式将SQL转换为LINQ查询。也许您可以向som提供有关数据库的信息以及您想要的结果,我们可以通过这种方式帮助您,而不是试图理解代码中发生的一切。