私はEntityFrameworkを使用しており、次のクラスがあります
class Student
{
[Key]
public virtual int StudentID {get; set;}
public virtual string StudentName {get; set;}
public virtual ICollection<Note> Notes {get; set;}
}
class Note
{
[Key]
public virtual int NoteID {get; set;}
public virtual int StudentID {get; set;}
public virtual string Message {get; set;}
}
class StudentDBContext:DbContext
{
public DbSet<Student> Students { get; set; }
public DbSet<Note> Notes { get; set; }
}
要約すると、私にはそれぞれ多くのメモを持つことができる学生のクラスがあります。ここで、Linqを使用して、特定の学生のすべてのメモを取得して表示したいと思います。だから私は試してみます
using (StudentDBContext a = new StudentDBContext())
{
var b = from c in a.Student
where c.StudentID == 1001
select c;
var currStudent = b.FirstOrDefault();
Console.WriteLine(currStudent.StudentName);
//display all the messages of the current student
foreach (var currNote in currStudent.Notes)
Console.WriteLine(currNote.Message);
}
上記のコードでは、Student.Notesが常にnullであるため、foreachブロックは常に失敗します。Student.Notesを初期化し、データベースから入力する手順がありませんか?