我有这样的结构:
public class OuterResource
{
public int Id { get; set; }
[Nested]
public List<InnerResource> InnerResources { get; set; }
}
public class InnerResource
{
public int Id { get; set; }
public int OuterResourceId { get; set; }
public int Value { get; set; }
}
内部记录被存储为外部记录中的列表。我想查询内部记录,给出指定的外部资源ID和值以滤除内部记录。
如何在C#NEST中进行操作?无法从文档中弄清楚。
请尝试。
objforOuterResource.InnerResources.Where(x => x.Id == 5);
.Query<OuterResource>.Nested(n => n
.Path(p => p.InnerResources)
.Query(qq => qq
.Terms(t => t.Fields(fi => fi.InnerResources.First().OuterResourceId ).Terms(value))
)
)
应该工作。请注意,最初应用于所有数组(= list)