我目前仅限于NEST v2.4.6。
我的对象的属性有时可以为null,并且必须使用这些null属性保留。
这应该允许我序列化Null值。 不幸的是,一旦设置完毕,我的所有ElasticDB查询都不会返回任何内容。
这就像我放
时一样令人困惑[JsonProperty(NullValueHandling = NullValueHandling.Include)]
属性,它工作正常。
但我显然希望在全球范围内启用此功能。
这就是我的实现:
var pool = new SingleNodeConnectionPool(new Uri(ConfigurationManager.AppSettings["ElasticInstanceAddress"]));
var connection = new HttpConnection();
var settings = new ConnectionSettings(pool, connection,
new SerializerFactory((s, values) =>
{
s.NullValueHandling = NullValueHandling.Include;
}));
在序列化程序上启用NullValueHandling
后突然开始没有返回任何内容的示例NEST查询如下:
var dog = _client.Get<Dog>(query.DogName).Source;
有什么想法吗?
答案 0 :(得分:0)
为什么你的对象应该用空值保存?是否保留,从[{1}}反序列化时,该值应为null
,因为该字段已丢失或实际设置为_source
。无论如何,它应该默认工作。可以使用Exists查询检查查询中的null,请参阅:https://www.elastic.co/guide/en/elasticsearch/reference/2.4/query-dsl-exists-query.html