gpt4 book ai didi

ravendb - 使用客户端 api 在 ravendb 中解决 selectmany

转载 作者:行者123 更新时间:2023-12-04 20:21:30 25 4
gpt4 key购买 nike

我有一个像这样的 ravendb 类:

public class Student
{
public string Id { get; set; }
public string TopLevelProperty { get; set; }
public Dictionary<string, string> Attributes { get; set; }
public Dictionary<string,List<Dictionary<string, string>>> CategoryAttributes { get; set; }
}

和这样的文件:
enter image description here

由于选择多,以下 linq 将不起作用:

test = (from student in session.Query()
from eduhistory in student.CategoryAttributes["EducationHistory"]
where eduhistory["StartYear"] == "2009"
select student).ToList();

我怎样才能让所有学生都在 StartYear == 2009?

最佳答案

这样做:

test = session.Advanced.LuceneQuery()
.Where("CategoryAttributes.EducationHistory,StartYear:2009")
.ToList();

注意EducationHistory 后面的逗号而不是点。这表明我们正在查看列表以在名为 StartYear 的项目之一中查找属性。
如果我想要大于:

test = session.Advanced.LuceneQuery()
.Where("CategoryAttributes.EducationHistory,StartYear:[2009 TO null]")
.ToList();

等等等等

关于ravendb - 使用客户端 api 在 ravendb 中解决 selectmany,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5973637/

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