我想将SQL转换为Linq查询
下面是我想要转换为Linq的SQL查询我想将SQL转换为Linq查询,sql,sql-server,entity-framework,linq,Sql,Sql Server,Entity Framework,Linq,下面是我想要转换为Linq的SQL查询 SELECT s.Studentname, COUNT(c.StudentId) FROM Students s, StudentCourses c WHERE s.StudentId = c.StudentId GROUP BY s.Studentname 这里我尝试使用linq将数据存储在StudentDto模型中 idomatic LINQ查询应该是: from s in db.Students se
SELECT
s.Studentname,
COUNT(c.StudentId)
FROM
Students s, StudentCourses c
WHERE
s.StudentId = c.StudentId
GROUP BY
s.Studentname
这里我尝试使用linq将数据存储在StudentDto模型中
idomatic LINQ查询应该是:
from s in db.Students
select new {s.StudentName, CourseCount = s.Courses.Count() };
-在ANSI-92 SQL标准中(超过25年前),旧样式的逗号分隔表列表样式被正确的ANSI
JOIN
语法所取代,因此不鼓励使用它。您尝试了什么?在询问您的家庭作业之前,请阅读SO指南。这将是您首次使用linq的一个完美示例。始终提及EF版本并显示类模型。如果没有这些信息,我们只能猜测哪种解决方案是可行的。我想用StudentName分组,除非多个学生有相同的StudentName,否则您不需要这样做。我的答案中的查询为每个学生返回一行。我已经编辑了我的问题,请检查它。好的,我将按StudentID分组,并希望将数据存储在StudentD中,以便与课程数一起建模是的。不需要加入。只需查询学生并使用课程导航属性进行计数。
from s in db.Students
select new {s.StudentName, CourseCount = s.Courses.Count() };