我认为我走了正确的路,但是我的C#代码未在Azure CosmosDB中创建文档。 下面是我的documentdb代码:
using (var client = new DocumentClient(new Uri(endpoint), authkey))
{
Database database = client.CreateDatabaseQuery("SELECT * FROM c WHERE c.id = 'db'").AsEnumerable().First();
var query = new SqlQuerySpec
{
QueryText = "SELECT * FROM c WHERE c.id = @id",
Parameters = new Microsoft.Azure.Documents.SqlParameterCollection { new Microsoft.Azure.Documents.SqlParameter { Name = "@id", Value = collectionId }
}
};
DocumentCollection collection = client.CreateDocumentCollectionQuery(database.SelfLink,query).AsEnumerable().First();
dynamic document1Definition = new
{
name = "Admin",
address = 1,
};
var result = client.CreateDocumentAsync(collection.SelfLink, document1Definition);
}
也要指出,当前我的收藏集中没有没有名为“名称”和“地址”的列。因此,据我所知,它们是动态创建的。请让我知道你在做什么错?
答案 0 :(得分:3)
请参阅最后一条语句,您正在使用c#异步方法而没有等待。
使用await client.CreateDocumentAsync(collection.SelfLink, document1Definition);
,否则您的代码将在文档创建完成之前退出。
请注意,您的方法应更改为public async Task methodname()
,您将看到VS显示相关提示。
一些参考资料给你