mcpField
C
cosmos-provider

cosmos-provider

github.com/dotnet开发14.8k45 次安装今天更新
代码仓库

关于 cosmos-provider

用于使用 Entity Framework Core 的 Azure Cosmos DB 提供程序的技能,说明其专属数据建模、查询与并发行为,以及模拟器测试注意事项。

主要功能

  1. 01非关系型查询管道
  2. 02JSON 文档实体化
  3. 03嵌入式拥有类型和复杂类型
  4. 04分区键配置指引
  5. 05基于 ETag 的乐观并发控制

适用场景

  1. 01为 Cosmos DB 建模文档
  2. 02配置查询所需的分区键
  3. 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