Cocoa touch 单个实体的多对多关系

Cocoa touch 单个实体的多对多关系,cocoa-touch,core-data,ios4,Cocoa Touch,Core Data,Ios4,我目前正在使用核心数据编写我的第一个项目,在解决如何查询我的一些数据之间的关系方面遇到了困难 在sql语言中,我有一个Country表,它连接到包含以下字段的CountryLink M-M表: countryId1 countryId2 方位 在核心数据中对此进行建模的正确方法是什么 到目前为止,我已经建立了一个国家实体和一个CountryLink实体(仅包含一个轴承字段),并添加了两个从国家到CountryLink的1对多关系(“CountryLink1”和“CountryLink2”)

我目前正在使用核心数据编写我的第一个项目,在解决如何查询我的一些数据之间的关系方面遇到了困难

在sql语言中,我有一个Country表,它连接到包含以下字段的CountryLink M-M表:

  • countryId1
  • countryId2
  • 方位
在核心数据中对此进行建模的正确方法是什么

到目前为止,我已经建立了一个国家实体和一个CountryLink实体(仅包含一个轴承字段),并添加了两个从国家到CountryLink的1对多关系(“CountryLink1”和“CountryLink2”)

我运行了这个项目,查看了核心数据(使用Sqlite gui)生成的Sqlite db结构,M-M连接表似乎是正确的(它包含轴承、CountryLink1和CountryLink2字段),但我不确定如何执行单个国家NSManagedObject的获取请求,以返回一系列相关国家及其方位

任何帮助或相关链接将不胜感激


谢谢你,特德首先要提醒你:

核心数据不是SQL。实体不是表。对象不是行。列不是属性。核心数据是一个对象图管理系统,它可以持久化对象图,也可以不持久化对象图,还可以在后台使用SQL来持久化对象图。试图用SQL术语来理解核心数据会导致您完全误解核心数据,并导致很多悲伤和浪费时间

现在,忘记SQL并在对象图中思考,您的实体将如下所示:

Country{
    someAttribute:string // or whatever
    countryLinks<-->>CountryLink.country
}

CountryLink{
    countryID1:string // or whatever
    countryID2:string // or whatever
    country<<-->Country.countryLinks
}
国家{
someAttribute:string//或其他
countryLinks>CountryLink.country
}
乡村链接{
countryID1:string//或其他什么
countryID2:string//或其他什么
国家