(Копирование через ответ Эндрю Дэвиса, из DocumentDB MSDN forums, для StackOverflow сообщества)
Самый простой способ будет иметь ваш сотрудник класса унаследованы из документа, а затем бросить result.Resource сотруднику. Если вы не хотите наследовать от документа, вы также можете определить явное литье между документом и сотрудником.
Наличие класса Employee, наследуемого от документа, должно работать готово, если имена членов вашего класса Employee соответствуют именам соответствующих свойств представления JSON.
Определение собственного преобразования типов дает вам больше контроля, и может выглядеть примерно так:
public static explicit operator Employee(Document doc)
{
Employee emp = new Employee();
emp.Name = doc.GetPropertyValue<string>("employeeName");
emp.Number = doc.GetPropertyValue<int>("employeeNumber");
/* and so on, for all the properties of Employee */
return emp;
}
Это будет определять явное приведение из документа в Employee. Вы должны убедиться, что строки GetPropertyValue (и аргументы типа) соответствуют вашим свойствам JSON.
Ага! Он ответил на мой вопрос. Я ценю ваш ответ на этот форум. – Sam
Это может работать при вызове CreateDocumentAsync, так как вы уже создали экземпляр Employee. Но если вы хотите также иметь возможность вызвать ReadDocumentAsync, чтобы вернуть 1 объект, вы не можете отдать _that_ обратно Employee. Для этого вам нужно выполнить динамическое преобразование, например, ответ Arnab, или сериализовать возвращенный документ ресурсов. – Andy