私は新しい .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; }
}
このようにDBコンテキストオブジェクトを使用しています
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;
結果にはすべてのメンバー変数の値が含まれます (コース オブジェクト全体がここに存在します)
これは予期された動作ですか、それとも何かが欠けているか見落としていますか?
このコンストラクターを DB コンテキストに追加して、遅延読み込みを無効にしましたが、役に立ちませんでした
public MyDbContext() : base()
{
this.Configuration.LazyLoadingEnabled = false;
}