gpt4 book ai didi

azure-cosmosdb - 按名称使用属性查询 DocumentDB

转载 作者:行者123 更新时间:2023-12-05 01:19:38 25 4
gpt4 key购买 nike

我试过了

CreateDocumentQuery<Document>(this.collection.DocumentsLink)
.Where(doc => doc.GetPropertyValue<string>(CollectionNameProperty) == collectionName)

但是它说,不支持 GetPropertyValue。

我没有文档的 POCO 类型,因为模式是动态的。 DocumentDB SQL 是我唯一的选择吗?

最佳答案

SQL 是最佳选择,因为 LINQ 需要类型绑定(bind)。

您也可以使用 Dictionary 类型进行查询,然后转换为 Document(通过读取为 ExpandoObject,或使用 JsonConvert 进行转换)。但是 SQL 会相对更干净:

var query = client.CreateDocumentQuery<Dictionary<string, object>>(collectionLink)
.Where(c => (string)c[propertyName] == propertyValue);

Dictionary<string, object> documentAsDictionary = query.AsEnumerable().FirstOrDefault();
Document document = JsonConvert.DeserializeObject<Document>(
JsonConvert.SerializeObject(documentAsDictionary));

关于azure-cosmosdb - 按名称使用属性查询 DocumentDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29926713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com