Ich baue eine Anwendung mit einer Beziehung von vielen zu vielen; Ein Objekt der Entität "Bild" kann mit einer beliebigen Anzahl von Galerien ("Galerie") verknüpft werden. Und natürlich kann eine Galerie eine beliebige Anzahl von Bildern enthalten.Was in GQL vorzuziehen ist; StringListProperty oder ListProperty?
Also, nach dem Google-Vorschlag hier, werde ich eine Liste bei 'Bild' verwenden, die die Fremdschlüssel von 'Gallery' enthält. Dies ist der BigTable-Ansatz.
(Der alte Stil Relationale DB Ansatz wäre, eine Tabelle/Einheit zu besitzen, zwischen ‚Bild‘ und ‚Galerie‘.)
Hier ist meine Frage: Wenn der Schlüssel zu speichern, soll ich gehen für ein " StringListProperty "auf 'Bild' oder würde eine" ListProperty (db.Key) "besser funktionieren?
Ein Grund sehe ich für eine StringList wäre, dass ich auch andere Werte als Keys speichern könnte, aber auf der anderen Seite wäre das sowieso schmutzig Stil. Aber ich bin mir auch ziemlich sicher, dass Google vorgeschlagen hat, nicht mehr als eine Liste in einer Entität zu verwenden, da der Index explodiert. Das wird mir also eine Hintertür bleiben.
Was die Listproperty mit dem Typ „Key“ ein Punkt wäre die automatische Überprüfung, wenn der Wert tatsächlich ein Schlüssel ist.
Da es sehr einfach ist, Strings in Keys umzuwandeln und umgekehrt, sehe ich keinen Grund für einen der List-Typen, die hier vorzuziehen sind.
Wenn es um Leistungsprobleme geht, habe ich keine Ahnung, wie ich das testen könnte - aber es sieht so aus, als ob dies der Hauptfaktor bei dieser Entscheidung sein wird.
Neugierig auf Ihre Eingabe. Vor allem, wenn jemand die Leistung auf diesem getestet hat oder so nett wäre und es tun würde.
Cheers, // Hannes
Danke, Nick! Werde ich so machen. Prost, // Hannes – Hannes