Quelle est l’alternative au nid 2.x de QueryDescriptor

Nous migrons notre Nest 1.0 vers NEST 2.0. Dans la version précédente, nous avions une requête comme celle-ci:

container = new QueryContainer(); container = new QueryDescriptor().Range(qs => qs.OnField(f => f.PublishedDate).LowerOrEquals(TimeZoneInfo.ConvertTimeToUtc(DateTime.Now))); if (!ssortingng.IsNullOrEmpty(contentType) && !contentType.ToLower().Equals("all")) { container &= new QueryDescriptor().QuerySsortingng(qs => qs.OnFields(f => f.ContentType).Query(contentType)); } 

Dans NEST 2.0, la classe QueryDescriptor n’est pas disponible. Comment pouvons-nous effectuer une action similaire dans NEST 2.0?

Appliquez quelques modifications à votre code et vous serez bon:

  1. Remplacez QueryDescriptor<> par QueryContainerDescriptor
  2. Utilisez DateRange(..) au lieu de Range(..)
  3. OnFields(..) ont été modifiées en Fields(..) tout autour
  4. Enfin, remplacez LowerOrEquals(..) par LessThanOrEquals(..)

Quelque chose comme:

 container = new QueryContainer(); container = new QueryContainerDescriptor().DateRange(qs => qs.Field(f => f.PublishedDate).LessThanOrEquals(TimeZoneInfo.ConvertTimeToUtc(DateTime.Now))); if (!ssortingng.IsNullOrEmpty(contentType) && !contentType.ToLower().Equals("all")) { container &= new QueryDescriptor().QuerySsortingng(qs => qs.OnFields(f => f.ContentType).Query(contentType)); } 

J’espère que ça aide.