![](/img/trans.png)
[英]LINQ2SQL - More Questions on when a Cross join with where clause is emitted instead of Inner Join
[英]Cross Join with Where clause
在Linq中,我必须仅使用method创建一个查询,我有2个表:
我必须选择学生( LastName
, FirstName
)并为其添加分数( Result > Min && Result < Max
)。
最后,我必须具备:
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,
};
(我怀疑您在某处需要<=
或>=
。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.