0

我正在处理 coredata 关系。我有 2 个实体设备和经销商。它们之间有一对多的关系。

对于设备属性是 deviceName,deviceSerial,deviceVersion & 对于经销商的属性是经销商地址,dealerPhone ,dealerName

我必须在数据模型编辑器中创建从设备到经销商的一对多关系(每个设备都有多个经销商)

我也设置了逆。我在我的经销商表中得到了一个名为 ZDeviceDealer 的列。

我想从特定设备的经销商表中获取经销商列表。为此,我必须在经销商表中为 DeviceSerial 创建一个单独的列。

我如何为此制作谓词和 Fetchrequest 控制器。

请纠正我哪里错了。

任何帮助,将不胜感激

4

1 回答 1

1

您不会在 Core Data 中“创建列”,而是为实体定义属性和关系。您说您已经定义了Device和 *Dealer之间的一对多关系”,所以让我们假设

  • dealers是从DeviceDealer的一对多关系,
  • device是从DealerDevice的逆一对一关系。

要获取特定设备的所有经销商,您需要以下谓词和获取请求:

Device *theDevice = ... ;
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Dealer"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"device == %@", theDevice];
[request setPredicate:predicate];

对于获取的结果控制器,您可以从 NSFetchedResultsController 文档中的示例代码开始,并使用上述获取请求。

于 2013-06-28T05:58:13.370 回答