你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

IDocumentClient.ReplaceDocumentAsync 方法

定义

重载

ReplaceDocumentAsync(Document, RequestOptions, CancellationToken)

Document Azure Cosmos DB 服务中的 作为异步操作替换。

ReplaceDocumentAsync(String, Object, RequestOptions, CancellationToken)

Document Azure Cosmos DB 服务中的 作为异步操作替换。

ReplaceDocumentAsync(Uri, Object, RequestOptions, CancellationToken)

将文档替换为 Azure Cosmos DB 服务中的异步操作。

ReplaceDocumentAsync(Document, RequestOptions, CancellationToken)

Document Azure Cosmos DB 服务中的 作为异步操作替换。

public System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Document>> ReplaceDocumentAsync (Microsoft.Azure.Documents.Document document, Microsoft.Azure.Documents.Client.RequestOptions options = default, System.Threading.CancellationToken cancellationToken = default);
abstract member ReplaceDocumentAsync : Microsoft.Azure.Documents.Document * Microsoft.Azure.Documents.Client.RequestOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Document>>
Public Function ReplaceDocumentAsync (document As Document, Optional options As RequestOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ResourceResponse(Of Document))

参数

document
Document

已更新 Document ,以将现有资源替换为 。

options
RequestOptions

(可选) 请求的请求选项。

cancellationToken
CancellationToken

(可选) A CancellationToken ,其他对象或线程可以使用它来接收取消通知。

返回

包含 System.Threading.Tasks 的 , ResourceResponse<TResource> 它包装 Document 包含已更新资源记录的 。

例外

如果未 document 设置 。

此异常可以封装许多不同类型的错误。 若要确定特定错误,请始终查看 StatusCode 属性。 创建文档时可能会获取的一些常见代码包括:

StatusCode异常原因
404NotFound - 这意味着尝试删除的资源不存在。

示例

此示例使用 Document 并利用它是动态对象的事实,并使用 SetProperty 动态更新文档的属性

//Fetch the Document to be updated
Document doc = client.CreateDocumentQuery<Document>(collectionLink)
                            .Where(r => r.Id == "doc id")
                            .AsEnumerable()
                            .SingleOrDefault();

//Update some properties on the found resource
doc.SetPropertyValue("MyProperty", "updated value");

//Now persist these changes to the database by replacing the original resource
Document updated = await client.ReplaceDocumentAsync(doc);

另请参阅

适用于

ReplaceDocumentAsync(String, Object, RequestOptions, CancellationToken)

Document Azure Cosmos DB 服务中的 作为异步操作替换。

public System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Document>> ReplaceDocumentAsync (string documentLink, object document, Microsoft.Azure.Documents.Client.RequestOptions options = default, System.Threading.CancellationToken cancellationToken = default);
abstract member ReplaceDocumentAsync : string * obj * Microsoft.Azure.Documents.Client.RequestOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Document>>
Public Function ReplaceDocumentAsync (documentLink As String, document As Object, Optional options As RequestOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ResourceResponse(Of Document))

参数

documentLink
String

要更新的文档的链接。 例如 dbs/db_rid/colls/col_rid/docs/doc_rid/

document
Object

已更新 Document ,以将现有资源替换为 。

options
RequestOptions

(可选) 请求的请求选项。

cancellationToken
CancellationToken

(可选) A CancellationToken ,其他对象或线程可以使用它来接收取消通知。

返回

包含 System.Threading.Tasks 的 , ResourceResponse<TResource> 它包装 Document 包含已更新资源记录的 。

例外

documentLink如果未设置 或 document

此异常可以封装许多不同类型的错误。 若要确定特定错误,请始终查看 StatusCode 属性。 创建文档时可能会获取的一些常见代码包括:

StatusCode异常原因
404NotFound - 这意味着尝试删除的资源不存在。

示例

在此示例中,我们将使用自己的 POCO 对象,而不是使用强类型 Document,而不依赖于 Document 类的动态特性。

public class MyPoco
{
    public string Id {get; set;}
    public string MyProperty {get; set;}
}

//Get the doc back as a Document so you have access to doc.SelfLink
Document doc = client.CreateDocumentQuery<Document>(collectionLink)
                       .Where(r => r.Id == "doc id")
                       .AsEnumerable()
                       .SingleOrDefault();

//Now dynamically cast doc back to your MyPoco
MyPoco poco = (dynamic)doc;

//Update some properties of the poco object
poco.MyProperty = "updated value";

//Now persist these changes to the database using doc.SelLink and the update poco object
Document updated = await client.ReplaceDocumentAsync(doc.SelfLink, poco);

另请参阅

适用于

ReplaceDocumentAsync(Uri, Object, RequestOptions, CancellationToken)

将文档替换为 Azure Cosmos DB 服务中的异步操作。

public System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Document>> ReplaceDocumentAsync (Uri documentUri, object document, Microsoft.Azure.Documents.Client.RequestOptions options = default, System.Threading.CancellationToken cancellationToken = default);
abstract member ReplaceDocumentAsync : Uri * obj * Microsoft.Azure.Documents.Client.RequestOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Documents.Client.ResourceResponse<Microsoft.Azure.Documents.Document>>
Public Function ReplaceDocumentAsync (documentUri As Uri, document As Object, Optional options As RequestOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ResourceResponse(Of Document))

参数

documentUri
Uri

要更新的文档的 URI。

document
Object

更新的文档。

options
RequestOptions

(可选的) RequestOptions 请求的 。

cancellationToken
CancellationToken

(可选) A CancellationToken ,其他对象或线程可以使用它来接收取消通知。

返回

表示异步操作的服务响应的任务对象。

适用于