Cannot create range facet for Price. Range facets can only be created for numerical types and their nullable counterparts as well as dates.

Vote:
 

while calling:

this.client.Search().RangeFacetFor(x => x.Price, priceRanges.ToArray()).GetResult();

im getting:

[NotSupportedException: Cannot create range facet for Price. Range facets can only be created for numerical types and their nullable counterparts as well as dates.]
   EPiServer.Find.TypeSearchExtensions.RangeFacetFor(ITypeSearch`1 search, Expression`1 fieldSelector, Action`1 facetRequestAction) +527

however:

public decimal Price { get; set; }

So is not decimal numeric type?

#89510
Aug 19, 2014 9:38
Vote:
 

apperantly it is not, from reflected EPiServer.Find.TypeSearchExtensions class:

namespace EPiServer.Find
{
  public static class TypeSearchExtensions
  {
    private static HashSet numericFieldTypes = new HashSet()
    {
      typeof (int),
      typeof (int?),
      typeof (double),
      typeof (double?),
      typeof (short),
      typeof (short?),
      typeof (long),
      typeof (long?),
      typeof (float),
      typeof (float?)
    };

..........

Is there some particular reason for decimal not being numeric type in EPiServer's Find viewpoint?

#89512
Aug 19, 2014 9:40
Drew Null - Nov 24, 2021 4:25
☝ LOL

This is still a thing seven years later here in November 2021. RangeFacetFor does not support decimal.
Gatis Bergšpics - Nov 24, 2021 8:53
Some things never change
Vote:
 

Decimal wouldn't work, You have to change the type to double, int, float or short
Or by parsing may work
RangeFacetFor(x => (double)x.TestDescimal)

/K

#89567
Edited, Aug 20, 2014 10:18
Vote:
 

That is perfectly clear, question is: why EPiServer decided not to include decimal as numeric type?

#89568
Aug 20, 2014 10:23
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.