Azure Cosmos DB 提供程序限制 EF CoreEF Core Azure Cosmos DB Provider Limitations

Cosmos 提供程序有很多限制。 其中的许多限制是由基础 Cosmos 数据库引擎中的限制引起的,并不特定于 EF。 但大多数情况还没有实现

临时限制Temporary limitations

  • 即使只有一个实体类型没有映射到容器,它仍具有鉴别器属性。
  • 在某些情况下,具有分区键的实体类型不能正常工作
  • 不支持 Include 调用
  • 不支持 Join 调用

Azure Cosmos DB SDK 限制Azure Cosmos DB SDK limitations

  • 仅提供 async 方法

警告

由于没有 EF Core 依赖的低级方法的同步版本,因此当前通过对返回的 Task调用 .Wait() 来实现相应的功能。 这意味着使用 SaveChangesToList 等方法,而不是其异步对应项可能导致应用程序中出现死锁

Azure Cosmos DB 限制Azure Cosmos DB limitations

你可以查看Azure Cosmos DB 支持的功能的完整概述,与关系数据库相比,这些是最明显的区别:

  • 不支持客户端启动的事务
  • 一些跨分区查询要么不受支持,要么速度慢得多,具体取决于所涉及的运算符