关于 cosmos-provider
用于使用 Entity Framework Core 的 Azure Cosmos DB 提供程序的技能,说明其专属数据建模、查询与并发行为,以及模拟器测试注意事项。
主要功能
- 01非关系型查询管道
- 02JSON 文档实体化
- 03嵌入式拥有类型和复杂类型
- 04分区键配置指引
- 05基于 ETag 的乐观并发控制
适用场景
- 01为 Cosmos DB 建模文档
- 02配置查询所需的分区键
- 03使用 Cosmos DB 模拟器进行测试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dotnet/ efcore --skill cosmos-provider安装后在 Claude Code 中输入/cosmos-provider确认已加载。
详细介绍
Cosmos DB 提供程序
具有独立并行查询管道的非关系型提供程序。使用 JSON 进行文档实例化。
与关系型数据库的主要区别
- 无迁移 — 使用
EnsureCreated() - 文档采用 JSON 格式 — 所有者类型和复杂类型会变为嵌入对象
- 必须配置分区键以确保性能
- 使用
ETag实现乐观并发控制 - 不支持跨容器联接
用于测试的 Azure Cosmos DB Emulator
- 如果未设置
Test__Cosmos__DefaultConnection,TestEnvironment.InitializeAsync()会自动启动一个Testcontainers.CosmosDb容器。设置该环境变量即可改用现有模拟器。 - 在 Linux 模拟器上,使用
[ConditionalFact(typeof(CosmosTestEnvironment), nameof(CosmosTestEnvironment.IsNotLinuxEmulator))]跳过需要不受支持功能的测试。
评论
支持 Markdown