我有一个表[CourseMaster] LIKE
CourseId CourseName
-----------------------
01 ABC
02 DEF
03 GHI
04 JKL
05 MNO
06 PQR
07 STU
我还有另一个表[StudentMaster]用于存储学生详细信息,例如
ROLLNO NAME ADDRESS
------------------------------
12345 RAM RAM ADDRESS
25695 HARI HARI ADDRESS
89685 JEFF JEFF ADDRESS
47896 DAISY DAISY ADDRESS
我还有另一个表[StudentCourseMaster]用于存储学生课程详细信息,例如
ROLLNO CourseId
-------------------
12345 01
12345 02
12345 06
25695 02
25695 06
89685 03
89685 05
89685 06
89685 07
47896 03
我正在尝试使用LINQ to SQL查询提取以下格式的记录。
ROLLNO NAME ADDRESS Course
-------------------------------------------
12345 RAM RAM ADDRESS ABC,DEF,PQR
25695 HARI HARI ADDRESS DEF,PQR
89685 JEFF JEFF ADDRESS GHI,MNO,PQR,STU
47896 DAISY DAISY ADDRESS GHI
下面是我的Linq to SQL查询
from student in _context.StudentMaster
select new StudentDto
{
RollNo = student.RollNo,
Name = student.Name,
Address = student.Address,
Courses = String.Join(", ", (from courseMapping in _context.StudentCourseMaster.Include(x => x.CourseMaster)
where courseMapping.RollNo == student.RollNo
select courseMapping.CourseMaster.CourseName)),
}
我收到此错误
我的顾虑:
1.是否有其他方法来编写此查询?
1.如果要根据课程ID筛选学生,应如何包括课程ID?
谢谢你,任何有价值的建议将不胜感激。
1条答案
按热度按时间rryofs0p1#
只需使用导航属性: