将同一对象添加到多个多对多关系中

时间:2011-06-28 03:09:08

标签: iphone ios core-data

在过去几个小时(5小时)内有一个我想要解决的核心数据问题。

我有两个实体:学生和班级。

学生属性:姓名,成绩 类属性:名称

关系:

  1. 学生<< ------>>班级,都有 多对多的关系。
  2. 我创建了学生1。
  3. 然后创建Class 1,Class 2。
  4. 然后我将学生1添加到1级
  5. 然后我将学生1添加到第2课。
  6. 现在,当我通过1级改变学生1的成绩时,它也会改变2级的成绩。 那么我该如何解决这个问题呢。非常感谢。

    更新(1): 根据答案,我已经模拟了以下内容:

    enter image description here

    我想将同一个学生添加到不同的班级: 学生和班级之间的关系是否正确?

4 个答案:

答案 0 :(得分:1)

创建一个新班级以保持学生和成绩的成绩。像StudentClassGrade或其他什么

答案 1 :(得分:1)

我会将其建模为

等级:

  • 属性:gradeValue(0-100)
  • 关系:学生

一个类包含这些

的集合
  • 关系:成绩

强烈建议核心数据中的所有关系都具有相反的关系,因此:

等级:

  • (反向)关系:class

学生:

  • (反向)关系:成绩

当然,什么是“前进”,什么是“逆转”它纯粹的语义。

答案 2 :(得分:0)

如果我做对了,每节课,学生都有一个成绩。如果是这种情况,那么你应该有student_class和student_class_grade模型。 student_class ---一对多--- student_class_grade。

答案 3 :(得分:0)

完整的答案,感谢上面的所有评论以及atomicbird #iphonedev irc频道:

相同的学生添加到不同的课程,拥有或编辑学生与每个班级相关的成绩:模型是:

enter image description here