Mit der Einführung des MongoDB EF Core Providers im Mai 2024 bringt MongoDB eine innovative Integration mit Entity Framework Core (EF Core) für C#-Entwickler. In Verbindung mit MongoDB Atlas vereinfacht dieser Provider die Arbeit an .NET-Anwendungen durch flexiblere Datenmodelle und effiziente Abfragen. Hier stellen wir einige der neuen Hauptfunktionen vor.
Der Code zu diesem Blog ist auf Github zu finden.
1) Dynamische Eigenschaftserweiterungen und Change Tracking
Der flexible Dokumentenmodellansatz von MongoDB ermöglicht es, Eigenschaften in Datensätzen flexibel hinzuzufügen. Der MongoDB EF Core Provider unterstützt diesen Ansatz durch „Code First“-Modellierung, sodass neue Eigenschaften direkt im Modell hinzugefügt und mit Change Tracking nachverfolgt werden können. Ein Beispiel dafür wäre das Hinzufügen eines neuen booleschen Feldes (z.B. adapted_from_book) zu einem Datensatz in Echtzeit, was dann auch in MongoDB Atlas sichtbar wird.
2) Indexverwaltung leicht gemacht
Durch die Integration in den .NET/C#-Treiber von MongoDB kann der Provider die Indexverwaltung effektiv unterstützen. Entwickler können mithilfe des Providers direkt Indizes in ihren Datenbanken erstellen, etwa einen zusammengesetzten Index auf den Feldern title und rated. Dies verbessert die Abfragegeschwindigkeit und erleichtert die Nutzung komplexer Suchoptionen in MongoDB, wie Atlas Search und Vector Search.
3) Leistungsstarke Abfragen mit LINQ
Mit EF Core und LINQ-Syntax können Entwickler stark typisierte und komplexe Abfragen in C# zu erstellen. Die Integration von LINQ ermöglicht dabei effizientere und präzisere Abfragen auf grossen Datensätzen.
4) Transaktionen und Optimistische Nebenläufigkeit
Seit der Version 8.1.0 unterstützt der MongoDB EF Core Provider Transaktionen und optimistische Nebenläufigkeit. Standardmässig sind alle SaveChanges– und SaveChangesAsync-Operationen nun transaktional, wodurch bei Fehlern ein automatischer Rollback erfolgt und Datenkonsistenz in produktionskritischen Anwendungen gewährleistet ist. Entwickler haben hier die Wahl zwischen Nebenläufigkeitsprüfungen oder Versionskennzeichnungen, um Konflikte bei parallelen Operationen zu vermeiden.
Zusammenfassung
Der MongoDB EF Core Provider in Kombination mit MongoDB Atlas bietet eine Reihe leistungsstarker Funktionen für .NET-Entwickler. Er ermöglicht flexibles Schema-Management, einfache Indexverwaltung, präzise Abfragen mit LINQ und robuste Transaktions- sowie Nebenläufigkeitsmechanismen. Entwickler, die auf eine flexible und skalierbare Datenbanklösung setzen, können von dieser neuen Integration profitieren und MongoDB effizient in ihre .NET-Anwendungen integrieren.