Как получить в ElasticSearch производный класс NEST - PullRequest
0 голосов
/ 05 ноября 2018

Я создаю индекс моего типа Product. Продукт внутри имеет руководство по имени объекта. Guide - это базовый класс и наследуемый класс, который приведен в качестве примера. Guide1 Guide2 Guide3 vs ..

Я создаю объект Product и эластичный индекс после того, как снова создаю класс продукта, но на этот раз класс Guide1 в Product.

Я получаю по номеру продукта гнездо, не приведенное Руководство к продукту.

public class Product{
   public string Name{get;set;}

   public Guide Guide{get;set;}
}

public class Guide{
    public int ID{get;set;}

    public string Title{get;set;}
}

public class Guide1 :  Guide{
    public double Price{get;set;}
}


Product p1 elasticContext.Get<Product>(1, idx => idx.Index("products"));

Руководство 1 приведено к Руководству, и я не имею доступа к свойству Guide1

1 Ответ

0 голосов
/ 04 января 2019

Когда вы вызываете тип записи в настройке подключения гнезда, полный тип возвращает

new ConnectionSettings(node, sourceSerializer: (b, s) => new JsonNetSerializer(b, s, () => new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.All }));
...