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()
来实现相应的功能。 这意味着使用 SaveChanges
或 ToList
等方法,而不是其异步对应项可能导致应用程序中出现死锁
Azure Cosmos DB 限制Azure Cosmos DB limitations
你可以查看Azure Cosmos DB 支持的功能的完整概述,与关系数据库相比,这些是最明显的区别:
- 不支持客户端启动的事务
- 一些跨分区查询要么不受支持,要么速度慢得多,具体取决于所涉及的运算符