EF Core Azure Cosmos DB 공급자 제한 사항EF Core Azure Cosmos DB Provider Limitations

Cosmos 공급자에는 몇 가지 제한 사항이 있습니다.The Cosmos provider has a number of limitations. 이러한 제한 사항 중 상당수는 기본 Cosmos 데이터베이스 엔진에 대 한 제한의 결과 이며 EF에 국한 되지 않습니다.Many of these limitations are a result of limitations in the underlying Cosmos database engine and are not specific to EF. 그러나 대부분은 아직 구현 되지 않았습니다.But most simply haven't been implemented yet.

임시 제한 사항Temporary limitations

  • 컨테이너에 매핑되는 상속이 없는 엔터티 형식이 하나만 있는 경우에도 판별자 속성이 계속 사용 됩니다.Even if there is only one entity type without inheritance mapped to a container it still has a discriminator property.
  • 파티션 키가 있는 엔터티 형식은 일부 시나리오에서 제대로 작동 하지 않습니다.Entity types with partition keys don't work correctly in some scenarios
  • Include 호출이 지원 되지 않습니다.Include calls are not supported
  • Join 호출이 지원 되지 않습니다.Join calls are not supported

Azure Cosmos DB SDK 제한 사항Azure Cosmos DB SDK limitations

  • 비동기 메서드만 제공 됩니다.Only async methods are provided


에서 사용 하 EF Core 하위 수준 메서드의 동기화 버전은 없으므로 반환 된에서를 호출 하 여 해당 기능을 현재 구현 합니다 .Wait() Task .Since there are no sync versions of the low level methods EF Core relies on, the corresponding functionality is currently implemented by calling .Wait() on the returned Task. 즉,와 같은 메서드 SaveChanges 를 사용 하거나 비동기 항목 대신 메서드를 사용 하면 ToList 응용 프로그램에서 교착 상태가 발생할 수 있습니다.This means that using methods like SaveChanges, or ToList instead of their async counterparts could lead to a deadlock in your application

Azure Cosmos DB 제한 사항Azure Cosmos DB limitations

지원 되는 Azure Cosmos DB 기능에 대 한 전체 개요를 볼 수 있으며, 관계형 데이터베이스에 비해 가장 주목할 만한 차이점은 다음과 같습니다.You can see the full overview of Azure Cosmos DB supported features, these are the most notable differences compared to a relational database:

  • 클라이언트에서 시작한 트랜잭션은 지원 되지 않습니다.Client-initiated transactions are not supported
  • 일부 파티션 간 쿼리는 관련 연산자에 따라 지원 되지 않거나 훨씬 느립니다.Some cross-partition queries are either not supported or much slower depending on the operators involved