我与Entity Framework建立了多对多关系,如下所示:
public class Student
{
public int StudentId { get; set; }
public string Name { get; set; }
public DateTime Birthday { get; set; }
public ICollection<StudentClass> StudentClasses { get; set; }
}
public class Class
{
public int ClassId { get; set; }
public string Name { get; set; }
public string Location { get; set; }
public ICollection<StudentClass> StudentClasses { get; set; }
}
public class StudentClass
{
public int StudentId { get; set; }
public Student Student { get; set; }
public int ClassId { get; set; }
public Class Class { get; set; }
}
这很有效,我正在努力让学生,但也得到他们相关的课程。我有这个:
var studentsWithClasses = await _dbContext.Students
.Include(s => s.StudentClasses)
.ToListAsync();
这使我获得了StudentClasses集合中的StudentId和ClassId,但Class对象为null。但我想访问Class对象中的数据,以便我可以看到所有Student Class的名称和位置。
是否有办法包含它,或者我是否需要进行单独的数据库调用?
答案 0 :(得分:0)
您可以使用字符串Include
(请注意,intellisense不会告诉您该属性是否实际存在)。
var studentsWithClasses = await _dbContext.Students
.Include("StudentClasses.Class")
.ToListAsync();