C# 与Where子句交叉连接

C# 与Where子句交叉连接,c#,linq,join,where,C#,Linq,Join,Where,在Linq中,我必须仅使用方法创建查询,我有两个表: 学生姓、名、成绩 等级最大、最小、名称 我必须选择学生的姓氏和姓氏,并将成绩结果>最小值和结果

在Linq中,我必须仅使用方法创建查询,我有两个表:

学生姓、名、成绩 等级最大、最小、名称 我必须选择学生的姓氏和姓氏,并将成绩结果>最小值和结果<最大值添加到其中

最后,我必须:

IEnumerable<T> T => LastName, FirstName, Grade
我试试这个:

var SAG = dc.Students
            .Where(w => w.Year_Result >= 12)
            .Join(dc.Grades, s => true, g => true, (s, g) => 
                  new { s.LastName, 
                        s.FirstName, 
                        Grade = g.Name
                                 .Where(w => (w.Min < s.Result) 
                                          && (w.Max > s.Result))
                        .FirstOrDefault() }).ToList();

但是有了这个请求,我只有2个结果,但我必须有40个结果。

这对你有用吗

var SAG =
    from s in dc.Students
    from g in dc.Grades
    where g.Min < s.Result
    where g.Max > s.Result
    select new
    {
        s.LastName, s.FirstName, Grade = g.Name,
    };

我确实怀疑您需要在那里的某个地方使用任一个=。

为什么只使用方法?你有哪些导航属性?Grade是另一个没有直接链接的表,Grade=dc。Grades有上限和下限bound@Hantse-是的,我明白。我的查询没有进行直接链接。这是边界之间的匹配。