CoreData Select über mehrere Tabellen/Entities?

S

silentx

Aktives Mitglied
Thread Starter
Dabei seit
30.08.2011
Beiträge
375
Reaktionspunkte
16
Weiss jemand wie folgendes in CoreData genutzt werden kann, wenn überhaupt?

Code:
SELECT person.name, person.vorname, adresse.strasse, adresse.ort
FROM person, adresse
WHERE person.personid=1
INNER JOIN adresse
 ON person.personid=adresse.personid

Habe auch im Internet gesucht und nichts genaues gefunden (oder falsch gesucht) :confused:
 
Kurz gesagt dein CoreData Modell muss angepasst werden.

Bei der Entity Person muss eine Relationship (1-1) zu Adresse hergestellt werden. Um es sauber zu machen noch die Inverse-Relationship von Adresse zu Person.

Danach braucht man nur die Person oder Adresse aus der Datenbank zu ziehen (NSFetchRequest) die man sucht und kann dann mit Punktnotation auf die Adresse zugreifen.

z.B.: PersonA.adresse.Strasse um auf die Strasse einer Person zuzugreifen.
 
Und wenn ich diese nur Einseitig mache, sollte es wie Left Outer JOIN bzw. Right Outer Join sein? Oder ist das wiederum nicht möglich?
 
Nein das ändert gar nichts. Sichert nur die Integrität innerhalb CoreDatas.

Bitte lies dich in die CoreData Doku ein. CoreData ist keine SQL Datenbank und auch nicht als solche zu behandeln.
 
Dann werde ich wohl besser mit sqlite3 arbeiten, da ich für meine geplannte Applikation eher mit Joins Arbeiten muss und ich mit SQL sehr gut behersche.
 
Zurück
Oben Unten