Azure cosmosdb 将对象转换为.Net Core中的DocumentDb文档

Azure cosmosdb 将对象转换为.Net Core中的DocumentDb文档,azure-cosmosdb,asp.net-core-2.0,document-database,Azure Cosmosdb,Asp.net Core 2.0,Document Database,我有下面的代码,它根据employee类型的对象的模型接收对象,我想将其转换为DocumentDB文档,然后发布到数据库。 我将如何进行转换 [HttpPost] public async Task Post([FromBody]Employee employee) { using (_logger.BeginScope("Post employee")) { try

我有下面的代码,它根据employee类型的对象的模型接收对象,我想将其转换为DocumentDB文档,然后发布到数据库。 我将如何进行转换

[HttpPost]
        public async Task Post([FromBody]Employee employee)
        {
            using (_logger.BeginScope("Post employee"))
            {
                try
                {
                    // convert employee to Document??
                    await _documentDbRepository.CreateItemsAsync(document);
                }
                catch (Exception e)
                {
                    _logger.LogError(e.Message);
                    throw;
                }

            }
        }

似乎您正在使用常规Cosmos库之上的自定义层,该库已硬编码为仅接受
文档
。Microsoft提供的库能够插入任何通用对象,并在插入时使用默认JSON序列化将其转换为文档。将自定义存储库上的签名更改为接受
对象
而不是
文档
,应该可以解除阻止。

是否明确要求您传入
文档
?这似乎是您对实际DocumentClient的某种自定义抽象,它能够获取几乎任何
对象
,并使用默认JSON序列化将其插入Cosmos CreateItemsAsync目前需要一个文档,那么,您的意思是它可以接受“对象”类型,无论它是文档还是基于模型的自定义对象,这都可以工作?什么是
\u documentDbRepository
?它听起来像是您在上面构建的自定义层。如果它是硬编码的文件,那么你必须尊重这一点。常规DocumentClient可以接受任何对象,而不仅仅是文档。将其更改为在对象中接受,因此只要我为传入的每个对象创建一个新的id guid,它就可以正常工作。如果你想把你最初的评论作为答案,我会接受的,谢谢