本人最近在学习ef ,mvc ,linq to entity ,关于多表联合查询还是不是很清楚,请大家指点一下
我创建3长表:
Teacher:
[Table("Teacher")]
public class Teacher {
[Key][DatabaseGenerated(System.ComponentModel.DataAnnotations.DatabaseGeneratedOption.Identity)] public int TeacherID { get; set; }
[Required]
public string TeacherName {get; set;}
public virtual ICollection<Course> Courses { get; set; }
}
Student:
[Table("Student")]
public class Student {
[Key][DatabaseGenerated(System.ComponentModel.DataAnnotations.DatabaseGeneratedOption.Identity)] public int StudentID { get; set; }
[Required]
public string StudentName { get; set;}
public virtual ICollection<Course> Courses { get;set; }
}
Course
[Table("Course")]
public class Course {
[Required]
public string CourseName { get; set; }
}
在生成的数据库中,Course表中会生成TeacherID和StudentID的外键,但是如何查询呢。
比如我想列表显示studentnAME,TEACHERNAME,COURSENAME,但是在连接的时候由于Course在teacher和student中是 ICollection<Course> Courses ,这个要怎么连接呢,应为studentname和teachername需要通过course连接才能查询,这个用linq怎么写。
不是有 导航属性吗
导航属性????怎么用呢???
没有高手回答吗?也很想知道。