我是一名新的 .NET 开发人员。我有 2 个这样的实体类
public class Student
{
public int userId { get; set; }
public string username { get; set; }
public string firstname { get; set; }
public string lastname { get; set; }
public string email { get; set; }
public Course course { get; set; }
}
public class Course
{
[Key]
public int courseId { get; set; }
public String courseName { get; set; }
}
我正在使用这样的数据库上下文对象
using (MyDbContext db = new MyDbContext())
当我使用访问 Student 对象时
Student stdent = db.students.Find(1);
学生对象中本机类型(int,string)的成员变量包含值,但类型(Course)的课程变量返回null。
然而,当我使用
var result = from student in db.students where student.userId == 1 select student;
结果包含所有成员变量的值(此处存在整个课程对象)
这是预期的行为还是我错过或忽略了什么?
我什至在我的数据库上下文中添加了这个构造函数来禁用延迟加载但没有帮助
public MyDbContext() : base()
{
this.Configuration.LazyLoadingEnabled = false;
}