【发布时间】:2017-08-29 10:18:40
【问题描述】:
嗨有一个基本的一对多结构..
public class Person {
public int PersonId { get; set; }
public string Name { get; set; }
public List<Skill> Skills { get; set; }
}
public class Skill{
public int PersonId { get; set; }
public int SkillId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
使用 .NET Framework 4.5 .. 安装 ElasticSearch NEST 5.x ..
从过去 2 天开始探索网络,但无法找到将 Person 设置为 Skill .. 的父级的方法 ..
我假设 NEST 会自动映射父子关系,所以我尝试关注
private ElasticLowLevelClient client = new ElasticLowLevelClient();
public void CreatePerson(Person person)
{
var parentResponse = client.Index(person, i => i.Index("myindex").Type("person").Id(person.PersonId));
foreach (var skill in person.Skills)
{
var skillResponse = client.Index(skill, i => i.Index("myindex").Type("personskills").Parent(person.PersonId.ToString()).Id(skill.SkillId)); //here I am getting error
}
}
创建人员的文档没有任何问题,但在创建personskill doc时我收到此错误:
如果没有配置父字段,则无法指定父字段
在探索时,我发现可能有文章说我需要在映射中将父类型设置为子类型.. 但是如何.. 自定义映射索引的过程是什么以及我应该如何以及在何处执行此操作.. 没有得到任何提示..请指导
【问题讨论】:
标签: c# asp.net model-view-controller nest