Einschränkungen des EF Core Azure Cosmos DB-Anbieters

Der Azure Cosmos DB-Anbieter hat eine Reihe von Einschränkungen. Viele dieser Einschränkungen ergeben sich aus Einschränkungen im zugrunde liegenden Azure Cosmos DB-Datenbankmodul und sind nicht spezifisch für EF. Aber die meisten wurden noch nicht implementiert.

Dies sind einige der häufig angeforderten Features:

Einschränkungen des Azure Cosmos DB-SDKs

  • Es werden nur asynchrone Methoden bereitgestellt.

Warnung

Da es keine Synchronisierungsversionen der Methoden auf niedriger Ebene gibt, auf die sich EF Core verlässt, wird die entsprechende Funktionalität derzeit durch den Aufruf von .Wait() auf der zurückgegebenen Task implementiert. Dies bedeutet, dass die Verwendung von Methoden wie SaveChanges oder ToList anstelle ihrer asynchronen Entsprechungen zu einem Deadlock in Ihrer Anwendung führen könnte.

Azure Cosmos DB-Einschränkungen

Sie können die vollständige Übersicht über von Azure Cosmos DB unterstützten Features sehen. Dies sind die wichtigsten Unterschiede im Vergleich zu einer relationalen Datenbank:

  • Vom Client initiierte Transaktionen werden nicht unterstützt.
  • Einige partitionsübergreifende Abfragen sind je nach beteiligten Operatoren langsamer (z. B. Skip/Take oder OFFSET LIMIT).