C# 映射:使用嵌套对象中的CopyTo来提供父属性
我有以下课程:C# 映射:使用嵌套对象中的CopyTo来提供父属性,c#,elasticsearch,nest,C#,elasticsearch,Nest,我有以下课程: public class A { public string Name { get; set; } public IEnumerable<B> Children { get; set; } public IEnumerable<string> SearchField { get; set; } } public class B { public string Name { get; set; } } 公共A类 { 公
public class A
{
public string Name { get; set; }
public IEnumerable<B> Children { get; set; }
public IEnumerable<string> SearchField { get; set; }
}
public class B
{
public string Name { get; set; }
}
公共A类
{
公共字符串名称{get;set;}
公共IEnumerable子项{get;set;}
公共IEnumerable搜索字段{get;set;}
}
公共B级
{
公共字符串名称{get;set;}
}
我使用的应用程序需要将可以搜索的所有数据复制到属性“SearchField”中。我正试图在这个字段中复制所有B子项的Name属性的值,但目前我还没有找到一种方法
有什么想法吗?我当前的代码:
map
.Properties(props => props
.Text(t => t.Name(n => n.SearchField))
.Text(t => t.Name(n => n.Name))
.Object<B>(c => c
.Name(n => n.Children)
.Properties(p => p
.Text(t => t.Name(b => b.Name)).CopyTo(a => ???????)
)
)
)
map
.Properties(props=>props
.Text(t=>t.Name(n=>n.SearchField))
.Text(t=>t.Name(n=>n.Name))
.Object(c=>c
.Name(n=>n.Children)
.Properties(p=>p
.Text(t=>t.Name(b=>b.Name)).CopyTo(a=>
)
)
)
您能否共享映射并在映射中解释您试图复制到搜索字段
属性的属性?以下是Russ Cam对我类似问题的回答。似乎你缺少的是“推断.字段”这个老问题。。。我刚刚测试了Russ Cam的解决方案,它工作得很好@Eric Phillips:将此作为答案发布,我会接受它。@schglurps您可以自己发布答案并链接回另一个答案,因为我不知道它使用IEnumerable属性的确切方式。为未来的搜索者提供一个精确的解决方案比得到几分要好:)