Ejemplo n.º 1
0
        protected virtual DataType GetProviderFieldType(string documentType, string fieldName, IndexDocumentFieldValueType fieldType)
        {
            switch (fieldType)
            {
            case IndexDocumentFieldValueType.Char:
            case IndexDocumentFieldValueType.String:
                return(DataType.String);

            case IndexDocumentFieldValueType.Byte:
            case IndexDocumentFieldValueType.Short:
            case IndexDocumentFieldValueType.Integer:
                return(DataType.Int32);

            case IndexDocumentFieldValueType.Long:
                return(DataType.Int64);

            case IndexDocumentFieldValueType.Double:
                return(DataType.Double);

            case IndexDocumentFieldValueType.Boolean:
                return(DataType.Boolean);

            case IndexDocumentFieldValueType.DateTime:
                return(DataType.DateTimeOffset);

            case IndexDocumentFieldValueType.GeoPoint:
                return(DataType.GeographyPoint);

            case IndexDocumentFieldValueType.Complex:
                return(DataType.Complex);

            default:
                throw new ArgumentException($"Field {fieldName} has unsupported type {fieldType}", nameof(fieldType));
            }
        }
Ejemplo n.º 2
0
 public static void AddFilterableValue(this IndexDocument document, string name, object value, IndexDocumentFieldValueType valueType)
 {
     if (value != null)
     {
         document.Add(new IndexDocumentField(name, value)
         {
             IsRetrievable = true,
             IsFilterable  = true,
             ValueType     = valueType,
         });
     }
 }