2017-07-14 3 views
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; } 
} 

答えて

1

Addを呼び出す前に、あなたのコレクションRegisteredStudentsをインスタンス化しています。

public YogaSpaceEvent() 
    { 
     this.RegisteredStudents = new List<RegisteredStudent>(); 
    } 
関連する問題