0

Ich habe eine Klasse Person und Klassen Stadt, Bundesland, Land. Ich muss Informationen speichern, die bestimmte Person in einer bestimmten Stadt, Staat und Land lebt. Vorzugsweise ohne Verwendung von Beziehungsdatenbanken und nur unter Verwendung von Standard-Wörterbüchern für zustandsbehaftete Dienste.Implementierung von vielen zu vielen Beziehungsmodell auf Listen und Wörterbüchern

Es ist wichtig zu erwähnen, dass die Entitäten Stadt, Staat und Land für Such- und schnelle Berechnungen getrennt sein sollten, da sie einige Daten enthalten, die nicht mit Personen zu tun haben.

Die Sache, die es für mich so schwierig macht, ist, dass ich eine Beschränkung der Menge an Diensten habe: Ich kann sie nicht wie Datenbanktabellen behandeln und einen Dienst wie PersonCity erstellen, um nur Bezeichner zu speichern.

Gibt es gute Ansätze, solche Beziehungen in Azure Service Fabric zu implementieren und effizient zu suchen? Vielleicht mit einigen Datenduplikationen. Diese Frage ist mit azur-service-fabric getaggt, weil ich auch wissen möchte, ob mein Problem etwas ist, mit dem Service-Fabric nicht arbeiten soll, oder gibt es einen Standard für Service Fabric-Ansätze, um solche Datenbeziehungen zu behandeln.

Antwort

0

Sie könnten diese (sehr begrenzt) Ansatz verwenden:

ein Wörterbuch von Objekt-Namen eingegeben erstellen und durch das Objekt bewertet. Wie ein Wörterbuch mit City-Objekten, die von City.Name eingegeben wurden. Wiederholen Sie für Staat und Land und Person.

Dann von Person, können Sie den City.Name als "Fremdschlüssel" in Person.CityName verwenden.

Mit diesem Ansatz können Sie Stadt, Staat, Land mit ihrem ganzen Namen finden.

Nachteile:

  • Sie können nicht für erweiterte Eigenschaften suchen, noch Wildcard Durchsuchungen tun.
  • Keine referenzielle Integrität.
  • Abfragen auf Person wirken immer auf mehrere Wörterbücher.

(Mein Rat: eine richtige Datenbank oder Suchplattform für dieses Problem verwenden)

+0

Ich denke, dieser Ansatz ist der einzige Weg ist es ohne ungewöhnliche Strukturen von Daten zu tun, leider. Der Name einer Stadt ist übrigens nicht einzigartig. Ihre genaue Vorgehensweise führt also zu Fehlern. Es ist besser, einige zusätzliche eindeutige Identifikatoren für Städte, Staaten und Länder zu haben. Und dann gibt es nur einen Weg, um einen Benutzer nach Stadt oder allen Benutzern in einer bestimmten Stadt zu finden, zwei Zugriffe auf beide Wörterbücher zu haben und eine Suche durchzuführen. – cassandrad