如何加载实体/属性的所有实例?

Posted

技术标签:

【中文标题】如何加载实体/属性的所有实例?【英文标题】:How to load all instances of entity / property? 【发布时间】:2011-01-11 15:22:04 【问题描述】:

我在 TableView 中有一些数据(从 coreData 加载),现在我想将这些数据上传到网络服务器。

在此之前,我想将所有数据保存到 *.txt 文件中。

如何将实体/属性的所有实例加载到可变数组中?

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Event" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];

[fetchRequest setFetchBatchSize:20];

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"barCode" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];

谢谢, 刷子51

编辑 1: 你能给我一点帮助(我不想要所有数据,只是属性“barCode”),现在我有这个代码:

NSManagedObjectContext *moc = [self managedObjectContext];

NSFetchRequest *req = [[NSFetchRequest alloc] init];
[req setEntity:[NSEntityDescription entityForName:@"Event" inManagedObjectContext:moc]];
[req setIncludesPropertyValues:NO];

NSError *error;
NSArray *codes = [moc executeFetchRequest:req error:&error];
[req release];

    for (NSManagedObject *Event in codes) 
    NSLog(@"there it is : ------------> %@", codes);
    NSLog(@"barcodes ------------------> %@", [[managedObject valueForKey:@"barCode"] description]);
  

如何只输出属性“barCode”的实例??

【问题讨论】:

【参考方案1】:

感谢您的回答, 这是我的代码:

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Event" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];

[fetchRequest setFetchBatchSize:20];

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"barCode" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];

我没有谓词...谓词是为了什么?

【讨论】:

【参考方案2】:

如果您在没有谓词的实体上执行获取请求,您将获得所有实例。

【讨论】:

以上是关于如何加载实体/属性的所有实例?的主要内容,如果未能解决你的问题,请参考以下文章

EF6:如何在 Select 中包含子属性,以便创建单个实例。避免“相同的主键”错误

所有实例属性的核心数据总和

如何使用代码优先实体框架在 ASP.Net MVC3 中重新加载多对多导航属性

如何在 Play Framework v1.2.7 中配置带有动态 id 属性的 POST 路由,该属性将加载 JPA 实体

当延迟加载禁用时,如何通过实体框架仅将导航属性的特定属性包含到查询中?

如何避免在 Hibernate 中获取 javassist 惰性实体代理实例