我有兩個表。一個是companydetail
,第二個是favCompany
兩者都有一個共同的companyID
。我如何獲得全部companydetail
,其中companyID
插入favCompany
?這裏是我的代碼:核心數據,如何在內核數據中使用內連接
-(NSArray *)getAll_FavCompany
{
NSMutableDictionary * userinfo = [[NSUserDefaults standardUserDefaults]objectForKey:@"user_info"];
NSManagedObjectContext *managedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType];
[managedObjectContext setParentContext:[TDODataManager sharedManager].managedObjectContext];
NSManagedObjectContext *mainManagedObjectContext = [managedObjectContext parentContext];
NSFetchRequest *fetch_company = [NSFetchRequest fetchRequestWithEntityName:@"Tbl_companyFav"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"companyid = %@ AND loginuserid = %@", [userinfo objectForKey:@"user_id"]];
[fetch_company setPredicate:predicate];
NSError *error = nil;
NSArray *result = [mainManagedObjectContext executeFetchRequest:fetch_company error:&error];
return result;
}
我想我需要在我上面的代碼使用relationshipKeyPathsForPrefetching
喜歡,但我不能肯定。
查看鏈接的問題,但是如果您用「表」和「連接」和「選擇」的方式來思考,那麼您就會誤解核心數據。它不是一個數據庫。它是一個對象持久性引擎。你應該這樣想,就像你想到在內存中有一堆指向對方的對象一樣。它只能處理比內存大得多的對象圖。有些問題有助於反對持久性。有些人更喜歡數據庫。只是不要混淆兩者。 –