/// <summary>
        /// Check column is a indexed.
        /// </summary>
        /// <param name="column"><see cref="EntitySchemaColumn"/>Checking column.</param>
        /// <param name="entitySchema"><see cref="EntitySchema"/>entitySchema.</param>
        /// <returns>True if column is indexed.</returns>
        protected override bool GetIsIndexedColumn(EntitySchemaColumn column, EntitySchema entitySchema)
        {
            if (IgnoredEntityList.GetIsIgnoredColumn(entitySchema, column))
            {
                return(false);
            }
            bool   isText           = column.DataValueType is TextDataValueType;
            bool   isLookup         = column.DataValueType.IsLookup;
            string parentSchemaName = GetDetailParentSchemaName(entitySchema.Name);

            if (column.ReferenceSchema != null && column.ReferenceSchema.Name == parentSchemaName)
            {
                return(false);
            }
            return(isLookup || isText);
        }
コード例 #2
0
        /// <summary>
        /// Gets entity schema queries from section uids.
        /// </summary>
        /// <param name="entityUIds"></param>
        /// <returns></returns>
        protected List <EntitySchemaQuery> GetEntitySchemaQueries(List <Guid> entityUIds)
        {
            var entitySchemaQueries = new List <EntitySchemaQuery>();

            foreach (Guid uId in entityUIds)
            {
                EntitySchema entitySchema = _userConnection.EntitySchemaManager.FindInstanceByUId(uId);
                if (IgnoredEntityList.GetIsIgnoredSection(entitySchema))
                {
                    continue;
                }
                var entitySchemaQuery = GetSelectForIndexation(entitySchema);
                entitySchemaQueries.Add(entitySchemaQuery);
                AddFileSchemaQuery(entitySchema, entitySchemaQueries);
            }
            return(entitySchemaQueries);
        }