使用c#SDK从CosmosDb删除文档

时间:2019-03-25 15:59:34

标签: c# azure-cosmosdb azure-cosmosdb-sqlapi

我正在尝试使用下面的代码从CosmosDB中删除文档,但是每次都会出现以下错误:“ Microsoft.Azure.Documents.DocumentClientException:具有指定ID的实体在系统中不存在”

该文档肯定在数据库中: enter image description here

这是我正在使用的代码:

    this.client = new DocumentClient(new Uri(EndpointUri), PrimaryKey);
    var docUri = UriFactory.CreateDocumentUri(DatabaseName, CollectionName, documentId);

    var result = await this.client.DeleteDocumentAsync(docUri, new RequestOptions { PartitionKey = new PartitionKey("/id") });

有人对这个问题有什么想法吗?

谢谢

1 个答案:

答案 0 :(得分:0)

PartitionKey类中的RequestOptions属性表示值,而不是分区键的定义。

这意味着您的删除行应为:

var result = await this.client.DeleteDocumentAsync(docUri, new RequestOptions { PartitionKey = new PartitionKey(documentId) });