これらのクラスがあるとしましょう:
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; }
}
ここで、教師のリストから1つのTeacherインスタンスを選択し、この教師が教えることができるコースを編集できるページにリダイレクトされたとします。したがって、彼女がmomemtで教えることができるすべてのコースのリスト(データベースから取得)と、「削除」オプションと、ユーザーが選択できるすべての利用可能なコースのドロップダウンリストがあります。ユーザーがドロップダウンリストからコースを選択すると、そのコースは「彼女が教えることができる」リストに追加されます。最後に「保存」ボタンがあります。
しかし、ユーザーがリストからコースを削除したり、コースを追加したりする場合、[保存]ボタンを押すまでそのコースをデータベースに保存したくありません。私の質問は、編集中およびデータベースに保存する前に、Teacherオブジェクトとその子Courseオブジェクトをどこに保持するかです。
これまで、編集したオブジェクトを保持するためにSessionを使用してきました。新しいコースを追加すると、そのコレクションに子オブジェクトが追加されるだけで、コースを削除すると、Sessionから子オブジェクトが削除されます。それが最善の方法ですか、それとももっと良い(または少なくともよりクリーンな)ものがありますか?