如何将C#对象转换为cosmosDb文档?

时间:2018-12-03 05:30:19

标签: c# unit-testing azure-cosmosdb xunit

我在构建库函数中使用Cosmonaut将c#对象转换为cosmosDb文档,如下所示:

var document = fakeUser.ConvertObjectToDocument();

现在我要删除宇航员库。还有其他方法可以将c#对象转换为cosmosdb文档吗?

2 个答案:

答案 0 :(得分:1)

要将C#类(称为yourClass)作为文档写入DocumentDB,只需执行以下操作:

await _client.CreateDocumentAsync(UriFactory.CreateDocumentCollectionUri(databaseName, collectionName), yourClass);

您可以在以下位置找到有关使用DocumentDB的更多信息:Azure Cosmos DB: SQL API getting started tutorial,更具体地说是Step 6: Create JSON Documents

答案 1 :(得分:0)

只需为该方法复制Cosmonaut的代码,然后删除不需要的代码即可。以下将起作用。

public static Document ConvertObjectToDocument<TEntity>(this TEntity obj) where TEntity : class
{
    var dynamicDoc = JsonConvert.DeserializeObject<dynamic>(JsonConvert.SerializeObject(obj));

    using (JsonReader reader = new JTokenReader(dynamicDoc))
    {
        var document = new Document();
        document.LoadFrom(reader);
        return document;
    }
}