Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 尝试迭代导航属性时发生异常_C#_Entity Framework_Visual Studio 2013_Console Application_Navigation Properties - Fatal编程技术网

C# 尝试迭代导航属性时发生异常

C# 尝试迭代导航属性时发生异常,c#,entity-framework,visual-studio-2013,console-application,navigation-properties,C#,Entity Framework,Visual Studio 2013,Console Application,Navigation Properties,我在VS2013上得到了一个带有EF的控制台应用程序,我得到了两个型号: public class Student { public int StudentId { get; set; } public string Name { get; set; } public virtual ICollection<Subject> Subjects { get; set; } public Student() { Subjects

我在VS2013上得到了一个带有EF的控制台应用程序,我得到了两个型号:

 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();
    }
}
公共班级学生
{
公共int StudentId{get;set;}
公共字符串名称{get;set;}
公共虚拟ICollection主题{get;set;}
公立学生()
{
主题=新列表();
}
}
公共课科目
{
public int SubjectId{get;set;}
公共字符串名称{get;set;}
公共虚拟学生学生{get;set;}
公共主题()
{
学生=新学生();
}
}
另外,我还为他们提供了一个数据库上下文。我可以更新数据库并查看我的表,但我无法迭代导航属性。。。例如:

我做错了什么

这是我的EF版本:

请改用此代码:

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

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

}
}
IList studs=db.Students.Include(“受试者”).ToList();
foreach(螺栓中的变位螺栓){
foreach(研究对象中的var子项){
}
}

这是延迟加载特性。你可以把构造器拿出来

内部的异常说明了什么?为什么你在构造一个主题时要创建一个学生,但当你构造一个学生时,它会创建新的主题?似乎非常循环,这可能是一个问题?除非你显示内部异常,否则这个问题是无法回答的。没有理由假设延迟加载不会发生。此外,它将生成一个不同的异常。