我在SQL Server 2008中有多对多的关系:
学生表(StudentID为PK,StudentName)
课程表(CourseID为PK,CourseName)
StudentCourse(纯接点表)(StudentID,CourseID都在复合PK中)。
在Visual Studio 2010中:
正确设置实体模型。 我有一个DataGrid绑定到:
<CollectionViewSource x:Key="CourseViewSource" d:DesignSource="{d:DesignInstance my:Course, CreateList=True}" />"
这允许我将dataGrid columnsproperty设置为BOTH表:CourseName AND到Students.StudentName。
我需要在同一个dataGrid上显示他们所在课程的所有学生。
我的查询是:
` var context = new context();
var List = from y in context.Courses
from z in y.Students
select y;
dataGrid1.ItemsSource = List;`
此查询会返回所有课程中表格中的第一个学生,并且会重复,但我无法向其他学生展示参加相同课程和其他课程的学生。
问题: 如何使用linq更改查询到实体。我已经尝试了很多天。
提前致谢。
答案 0 :(得分:0)
尝试包含,如下所示:
var List = (from y in context.Courses.Include("Students") select y).ToList();