You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

EF Core中Cosmos DB唯一键约束不生效问题排查

EF Core Cosmos DB 唯一键约束失效问题

问题详情

我在AppDbContext中为Cosmos DB的StKeyValueStore实体配置了唯一索引,代码如下:

builder.Entity<StKeyValueStore>()
    .ToContainer(nameof(StKeyValueStore))
    .HasPartitionKey(x => x.PartitionKey)
    .HasNoDiscriminator()
    .HasIndex(x => new { x.Key }).IsUnique();

目前集合中所有条目的PartitionKey均为"default",但仍然可以插入Key值重复的数据。以下是已插入的两条重复记录:

第一条数据:

{
    "Id": "92c373cc-0272-4ca9-b789-e5734c32e2fa",
    "PartitionKey": "default",
    "Key": "key1",
    "Value": "value1",
    "id": "92c373cc-0272-4ca9-b789-e5734c32e2fa",
    "_rid": "p2Y6AKgpcx8BAAAAAAAAAA==",
    "_self": "dbs/p2Y6AA==/colls/p2Y6AKgpcx8=/docs/p2Y6AKgpcx8BAAAAAAAAAA==/",
    "_etag": "\"05005d06-0000-2000-0000-668278a10000\"",
    "_attachments": "attachments/",
    "_ts": 1719826593
}

第二条数据:

{
    "Id": "9592412f-98ba-42fb-9ecf-bb047a800990",
    "PartitionKey": "default",
    "Key": "key1",
    "Value": "value2",
    "id": "9592412f-98ba-42fb-9ecf-bb047a800990",
    "_rid": "p2Y6AKgpcx8CAAAAAAAAAA==",
    "_self": "dbs/p2Y6AA==/colls/p2Y6AKgpcx8=/docs/p2Y6AKgpcx8CAAAAAAAAAA==/",
    "_etag": "\"05005e06-0000-2000-0000-668278a10000\"",
    "_attachments": "attachments/",
    "_ts": 1719826593
}

内容的提问来源于stack exchange,提问作者harishr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 13:07:23