C# Nest 6.2.0自参考循环
我正在使用Nest v6.2.0连接到弹性搜索 当我尝试将类型a的文档添加到索引时,我得到一个自引用循环错误,因为类型a的对象具有类型B的属性,类型B具有类型a的属性。类型a和B的两个对象都是数据库对象C# Nest 6.2.0自参考循环,c#,
elasticsearch,nest,C#,
elasticsearch,Nest,我正在使用Nest v6.2.0连接到弹性搜索 当我尝试将类型a的文档添加到索引时,我得到一个自引用循环错误,因为类型a的对象具有类型B的属性,类型B具有类型a的属性。类型a和B的两个对象都是数据库对象 我可以在JsonParser上将ReferenceLoopHandling设置为ReferenceLoopHandling.Ignore,它可以很好地解析对象,但我似乎无法将该json字符串发送到elastic search。那么,如何在Nest使用的Json解析器上设置相同的设置呢?因此,我可
我可以在JsonParser上将ReferenceLoopHandling设置为ReferenceLoopHandling.Ignore,它可以很好地解析对象,但我似乎无法将该json字符串发送到elastic search。那么,如何在Nest使用的Json解析器上设置相同的设置呢?因此,我可以将对象发送到elastic search,Nest可以正确解析对象,而不会出现自引用循环错误。您可能希望使用不同的、更简单的POCO对发送到Elasticsearch的文档建模,以避免通过自引用循环生成可能较大的对象图 您可以引用和配置ReferenceLoopHandling属性
var pool = new SingleNodeConnectionPool(new Uri("http://localhost:9200"));
var settings = new ConnectionSettings(pool, (builtInSerializer, connectionSettings) =>
new JsonNetSerializer(builtInSerializer, connectionSettings, () => new JsonSerializerSettings
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
}));
var client = new ElasticClient(settings);