【发布时间】:2011-08-20 15:48:50
【问题描述】:
我目前正在为一个 iPhone 项目使用 Core-data。
但我对一个元素有点困惑。
使用Core Data,目前您在创建多对多关系时不需要创建中间表(这一切都由核心数据在幕后处理)
但在我的情况下,我实际上需要我的多对多关系的一些属性!
例如
我有一张桌子叫Students
和另一个名为Lessons的表
Student 可以是多个lessons
一个lesson 可以有多个students
现在标准的多对多关系对我不起作用,因为我实际上需要定义更多关于连接的细节,即StartDate 和LeaveDate。
例如,在标准 sql 模型中,我的连接表将类似于
StudentLessons (Studentid, LessonId, StartDate, LeaveDate )
我需要这些属性,因为当我查询信息时,我需要连接中的详细信息来过滤我的结果。
如何在核心数据中创建它并过滤结果?
我看到有人说您实际上会在核心数据中手动创建StudentLesson 实体。
现在,如果我这样做,我是否只拥有属性(Startdate、LeaveDate)以及来自 Student 和 Lessons 表的一对多关系?
Student - > StudentLessons
Lesson - > StudentLessons
我想我对如何确保正确设置关系和关系的内容有点困惑。 (即,如果我将 Student 对象添加到 StudentLessons - 那么我将如何分配/添加 Lesson。)
抱歉,这是我第一次玩 Core Data。
从一个完整的 sql 后台开始需要一点时间来适应。
【问题讨论】: