假设我们有这些类:
class Teacher {
public int Id { get; set; }
public string FullName { get; set; }
public List<Course> Courses { get; set; }
}
class Course {
public int Id { get; set; }
public string CourseName { get; set; }
}
现在假设我从教师列表中选择了一个教师实例,并且我已被重定向到一个页面,我可以在其中编辑该教师可以教授的课程。所以有一个她可以在moemt教授的所有课程的列表(从数据库中获取),带有一个“删除”选项和一个用户可以选择的所有可用课程的下拉列表;当用户从下拉列表中选择一门课程时,它会被添加到“她可以教”列表中。最后是一个“保存”按钮。
但是,当用户从列表中删除课程或添加课程时,我不想将其保存到数据库中,直到按下“保存”按钮。我的问题是:在编辑和保存到数据库之前,在哪里保存 Teacher 对象及其子 Course 对象?
到目前为止,我一直在使用 Session 来保存已编辑的对象;添加一个新课程只是将一个子对象添加到它的集合中,删除一个课程会从 Session 中删除一个子对象。这是最好的方法还是有更好的方法(或者至少更干净)?