Ich habe viele Instanzen, zwei Klassen Children
und Animal
, die eine viele-zu-viele Entity-Beziehung haben.
Ich möchte eine Datenstruktur haben, so dass ich mit Children
eine Liste von Animal
bekommen kann, die darauf abgebildet sind und umgekehrt. Für jedes gegebene Animal
kann ich eine Liste von Children
bekommen, die ihm zugeordnet sind.
Ich brauche diese Datenstruktur, damit sie von jedem Thread angesprochen werden kann.
Also ein Beispiel Mapping gegeben:
%Vor% Abfrage für Child1
Ich möchte eine zurückgegebene Liste erhalten: [ Animal1, Animal2, Animal2 ]
.
Abfrage für Animal2
Ich möchte eine zurückgegebene Liste erhalten: [ Child2, Child3 ]
.
Die einzige Möglichkeit, dies zu tun, war ein Wörterbuch und eine Liste für jedes Element in diesem Wörterbuch (sowohl Tiere als auch Kinder) zu verwenden, aber ich würde mich dann auch damit befassen müssen, eine Synchronisierung der Listen zu sperren.
Ich denke, Sie müssen Ihre Datenstruktur in drei Ebenen aufteilen.
%Vor% So Child
und Animal
haben beide Sammlungen von ChildToAnimalRelation
Eine Tierkinder bekommen würde wie folgt getan:
%Vor%umgekehrt:
%Vor%Tags und Links c# data-structures