一、应用场景: 系统中有3个实体类(为描述简单起见,直接公开字段,同时省略了其他次要字段。都是纯实体类,不包含crud等方法): // 学生 public class student { public int id; public string code; // 学号 public string name; // 姓名
public list <score> scores; // 学生所学课程的成绩列表 }
// 课程 public class course { public int id; public string code; // 课程代码 public name; //课程名
public list <score> scores; // 学习这门课程的所有学生的成绩 }
// 成绩 public class score { public int id; public student student; // 学生 public course course; // 课程 public double mark; // 得分 } 关于数据库表,大家可以推测出来。score表中记录的是studentid、courseid。
二、问题 希望获取学生对象后可以操作他的成绩,所以student类中有public list <score> score; 希望获取成绩对象后可以操作相关的学生对象,并且一个score实例可以被方便的持久化,所以score类中持有student、course实例。