gpt4 book ai didi

c# - 如何在 RavenDB 中查询包含指定类型的嵌套对象的文档

转载 作者:太空宇宙 更新时间:2023-11-03 20:04:44 24 4
gpt4 key购买 nike

我有一个使用索引的 RavenDB 查询,我需要添加条件检查嵌套对象类型(这些对象不是单独的文档)

entries = session.Query<result, index>()
/* some conditions here */
.Where(x => x.Messages.Any(m => m.GetType() == typeof(MyMessage)))
.ToList();

Raven 告诉我,他不知道如何翻译 GetType。那么我该如何实现呢?

最佳答案

经过长时间的研究,我找到了解决方案。

我在索引中添加了字段:

MessageTypes = entry.Messages.Select(m => AsDocument(m)["$type"].ToString())

AsDocument() 返回 RavenJObject,其中包含所有属性,包括 $type。有了该属性的索引,请求特定类型就非常简单了

关于c# - 如何在 RavenDB 中查询包含指定类型的嵌套对象的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24451312/

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