我可以在 Core Data 中获取关系数据吗
Posted
技术标签:
【中文标题】我可以在 Core Data 中获取关系数据吗【英文标题】:Can I fetch relationship's data in Core Data 【发布时间】:2013-06-11 09:49:11 【问题描述】:我可以在Core Data中获取关系数据吗? 关系是一对多的。
例如:我有 2 个实体(部门和员工)。部门是一对多的员工关系,员工是一对一的部门关系。我想获得部门实体的员工。我可以使用 fetch 函数来获取数据吗?
提前致谢。
【问题讨论】:
“可可”不是“可可” 【参考方案1】:您可以只使用关系属性来获取部门的员工集:
Department *theDepartment = ...; // your department
NSSet *employeesInDepartment = theDepartment.employees; // set of Employee objects
或者,如果你需要一个数组:
NSArray *employeesInDepartment = [theDepartment.employees allObjects];
或者,您可以使用以下获取请求:
Department *theDepartment = ...; // your department
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Employee"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"department = %@", theDepartment];
[request setPredicate:predicate];
NSError *error;
NSArray *employees = [yourManagedObjectContext executeFetchRequest:request error:&error];
【讨论】:
你的意思是。我只能使用部门(NSManagedObject)来获取员工(NSSet)的数据。对吗? 感谢您的帮助,马丁以上是关于我可以在 Core Data 中获取关系数据吗的主要内容,如果未能解决你的问题,请参考以下文章