1
私は作成中のYogaSpaceEventを持っています。その中にRegisteredStudentsというエンティティがあります。私がYogaSpaceEventを作成するとき、私はそれを保存する前にRegisteredStudentエンティティを追加したいと思います。しかし、私が 'newEvent.RegisteredStudents.Add(newStudent);
'と言うとき、私はオブジェクトのインスタンスに設定されていないオブジェクト参照を取得します。私が見落としているものがあるのですか?または、登録された学生をそのnewEvent行に追加するために、DBにイベントを追加する必要がありますか?ここでEntity Frameworkで子エンティティを埋めようとしている例外
YogaSpaceEvent newEvent = new YogaSpaceEvent
{
EventDateTime = details.EventDate.AddHours(DateTime.Parse(displayedTime).Hour).AddMinutes(DateTime.Parse(displayedTime).Minute),
Time = details.StartTime,
Duration = details.Duration,
//blah blah blah
DateCreated = DateTime.Now,
DateUpdated = DateTime.Now
};
RegisteredStudent newStudent = new RegisteredStudent { StudentId = 12345 };
newEvent.RegisteredStudents.Add(newStudent);
yogaSpace.YogaSpaceEvents.Add(newEvent);
dbContext.SaveChanges();
2つのエンティティ
public class YogaSpaceEvent
{
public YogaSpaceEvent() {}
[Key]
public int YogaSpaceEventId { get; set; }
[Index]
public int YogaSpaceRefId { get; set; }
[ForeignKey("YogaSpaceRefId")]
public virtual YogaSpace YogaSpace { get; set; }
[Required]
[Index]
public DateTime EventDateTime { get; set; }
[Required]
public YogaTime Time { get; set; }
[Required]
public YogaSpaceDuration Duration { get; set; }
public virtual ICollection<RegisteredStudent> RegisteredStudents { get; set; }
}
はここにあるRegisteredStudent
public class RegisteredStudent
{
public RegisteredStudent() {}
[Key]
public int RegisteredStudentsId { get; set; }
[Index]
public int YogaSpaceEventRefId { get; set; }
[ForeignKey("YogaSpaceEventRefId")]
public virtual YogaSpaceEvent YogaSpaceEvent { get; set; }
public int StudentId { get; set; }
}