尝试迭代导航属性时出现异常

时间:2014-05-24 16:22:56

标签: c# entity-framework visual-studio-2013 console-application navigation-properties

我在VS2013上有一个EF控制台应用程序,我有2个型号:

 public class Student
{
    public int StudentId { get; set; }
    public string Name { get; set; }
    public virtual ICollection<Subject> Subjects { get; set; }
    public Student()
    {
        Subjects = new List<Subject>();
    }
}

public class Subject
{
    public int SubjectId { get; set; }
    public string Name { get; set; }
    public virtual Student Student { get; set; }
    public Subject()
    {
        Student = new Student();
    }
}

另外,我为他们提供了一个DB上下文。我能够更新数据库并查看我的表,但我无法迭代导航属性...例如: The exception I get

我做错了什么?

这是我的EF版本: My EF version

1 个答案:

答案 0 :(得分:-1)

请改用此代码:

IList<Student> studs = db.Students.Include("Subjects").ToList();

foreach (var _stud in studs) {
  foreach (var sub in _stud.Subject){

}
}

这是延迟加载功能。你可以把构造函数拿出来