Я пытаюсь создать утилиту в C#, которая обновляет значение поля id
в документе Cosmos DB.
Для этого мой план атаки:
- Считать существующий документ из базы данных как обобщенный c
Microsoft.Azure.Documents.Document
- Клонировать существующий документ в новый документ
- Обновление
id
в новом документе по моему вкусу - Создание нового документа в базе данных
- Удаление старого документа
У меня проблема в том, что я не знаю, как клонировать Microsoft.Azure.Documents.Document
. Мой существующий код явно просто создает копию:
var existingDocument = new Document(); // Pretend this is coming from database and is an actual document.
var newDocument = existingDocument; // Need to clone object... how?
newDocument.Id = $"{docType}_{docId}";
newDocument.SetPropertyValue("_rid", null);
newDocument.SetPropertyValue("_self", null);
newDocument.SetPropertyValue("_etag", null);
newDocument.SetPropertyValue("_attachments", null);
newDocument.SetPropertyValue("_ts", null);
Как я могу создать клон Microsoft.Azure.Documents.Document
, чтобы newDocument
не было просто ссылкой на existingDocument
?