我一直在玩 RavenDB。我不得不说我印象深刻,但我很难理解如何更新子对象。例如,假设我们有以下内容:
public class Course
{
public int Id { get; set; }
public string Title { get; set; }
}
public class Student
{
public Student()
{
Courses = new Collection<Course>();
}
public int Id { get; set; }
public string Name { get; set; }
public ICollection<Course> Courses { get; set; }
}
我可以在数据库中保存一个学生和两个与学生相关的课程。我也可以毫无问题地为学生加载两门课程。但是当我尝试修改课程时,例如 student.Courses.Add(new Course { Id = 5, Title = "Accounting 101"}),我希望它能够在数据库中的内容与当前的内容之间进行同步学生。课程。基本上,我希望它删除数据库中的课程,并且只在 student.Courses 中有课程。这可能是我对 RavenDB 工作原理的误解。我找不到这样的例子。处理这种情况的最佳实践方法是什么?