MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Speichern Sie ein Objekt mit einer bidirektionalen Beziehung in Mongodb mit dem offiziellen c#-Treiber

Dies wird verursacht, weil Sie einen Zyklus haben, der aus aufeinander verweisenden Klassen besteht. Der Treiber ist eindeutig nicht dafür ausgestattet, und ich bin nicht davon überzeugt, dass er dies tun sollte.

Sie müssen entscheiden, wie diese Daten in der Datenbank modelliert werden sollen.
Wenn Sie zwei Sammlungen haben, eine von Unternehmen und eine von Mitarbeitern, dann sollten Sie auf Datenebene nur IDs für die Referenzen angeben.

Wenn Sie jedoch nur eine einzige Sammlung von Unternehmen haben, müssen Sie nur die Mitarbeiterklasse so ändern, dass sie mit einer ID anstelle einer Objektreferenz auf das Unternehmen zurückverweist.

Dies muss jedoch nur in der Datenbank geschehen, Sie können Ihr Modell in Ihrem C#-Code erweitern, um die Objektreferenz automatisch hinzuzufügen oder sie faul zu laden usw. (um ausgewählte N+1-Probleme zu vermeiden), je nachdem, was für die Situation richtig ist.