public static PrimitiveDataDefine CreateString(bool isNullable, int fieldOrder)
        {
            PrimitiveDataDefine mapping = CreateFromStringType(isNullable);

            mapping.FieldOrder = fieldOrder;
            return(mapping);
        }
        public static PrimitiveDataDefine CreateString(bool isNullable, string fieldName)
        {
            PrimitiveDataDefine mapping = CreateFromStringType(isNullable);

            mapping.FieldName = fieldName;
            return(mapping);
        }
        public static PrimitiveDataDefine Create(Type type, int fieldOrder)
        {
            PrimitiveDataDefine mapping = CreateType(type);

            mapping.FieldOrder = fieldOrder;
            return(mapping);
        }
        public static PrimitiveDataDefine Create(Type type, string fieldName)
        {
            PrimitiveDataDefine mapping = CreateType(type);

            mapping.FieldName = fieldName;
            return(mapping);
        }
        private static PrimitiveDataDefine CreateFromStringType(bool isNullable)
        {
            PrimitiveDataDefine mapping = null;

            mapping            = new PrimitiveDataDefine(typeof(string));
            mapping.IsNullable = isNullable;
            return(mapping);
        }
        private static PrimitiveDataDefine CreateType(Type type)
        {
            PrimitiveDataDefine mapping = null;
            bool isnullable;

            if (DefineList.TryGetValue(type, out isnullable))
            {
                mapping            = new PrimitiveDataDefine(type);
                mapping.IsNullable = isnullable;
                return(mapping);
            }
            if (type == typeof(string))
            {
                mapping = new PrimitiveDataDefine(typeof(string));
            }
            else
            {
                throw new LightDataException(RE.SingleFieldSelectTypeError);
            }
            return(mapping);
        }