Ich habe ein wenig mit mongoDB in C # gearbeitet, aber mein Code ist noch in der Entwicklung. Ich frage mich, welche nützlichen Muster die Leute gefunden haben, wenn sie ihre Domain-Klassen mit der Zeit weiterentwickeln, wenn neue Eigenschaften erstellt, verändert und entfernt werden. Mir ist klar, dass ich entweder Updates für alle meine gespeicherten Daten ausführen muss oder sicherstellen muss, dass meine Domain-Klassen wissen, wie man mit den älteren Formaten umgeht, aber im Laufe der Zeit könnte ich mir vorstellen, dass es chaotisch wird, wenn eine Klasse damit umgehen kann alle möglichen Formularformate.
Überlege ich das? Ist das meistens nur eine gute defensive Programmierung?
In vielen Fällen müssen Sie nicht einmal Aktualisierungen für Ihre Daten ausführen (es sei denn, Sie ändern den Datentyp oder Ihre Eigenschaft wirkt sich auf den Index aus). Ein weiterer Punkt ist, dass das Hinzufügen des BsonIgnoreExtraElementsAttribute häufig eine gute Übung ist, insbesondere wenn Sie Bedenken haben, dass Eigenschaften häufig hinzugefügt oder entfernt werden. Nach dieser Vorgehensweise können Sie ältere und neuere Versionen Ihrer Anwendung für die Arbeit mit allen Versionen von Datensätzen bereitstellen, wobei Sie die Vorteile von "Schematlosigkeit" genießen können.
Tags und Links c# nosql schemaless