cosmos-provider について
Entity Framework Core の Azure Cosmos DB プロバイダーを扱うためのスキルです。プロバイダー固有のデータモデリング、クエリと並行性の挙動、エミュレーターでのテスト上の注意点を説明します。
主な機能
- 01非リレーショナルなクエリパイプライン
- 02JSON ドキュメントのマテリアライズ
- 03所有型と複合型の埋め込み
- 04パーティションキー設定のガイダンス
- 05ETag による楽観的並行性制御
活用シーン
- 01Cosmos DB 向けドキュメントのモデリング
- 02クエリ向けパーティションキーの設定
- 03Cosmos 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 対応