Пример #1
0
 internal SchemaMetadata(string indexName, string documentIdPrefix, PropertyMetadata[] properties, PrimaryKey primaryKey, string language)
 {
     IndexName        = RedisearchIndexCache.GetBoxedIndexName(indexName);
     DocumentIdPrefix = RedisearchIndexCache.GetBoxedLiteral(documentIdPrefix);
     Properties       = properties;
     PrimaryKey       = primaryKey;
     Language         = RedisearchIndexCache.GetBoxedLiteral(language);
 }
Пример #2
0
        public static CreateIndexCommand Create <TEntity>()
            where TEntity : RedisearchSerializable <TEntity>, new()
        {
            var schemaMetadata = SchemaMetadata <TEntity> .GetSchemaMetadata();

            var parameters = new List <object>
            {
                RedisearchIndexCache.GetBoxedIndexName(schemaMetadata.IndexName),
                RedisearchIndexCache.GetBoxedLiteral("SCHEMA")
            };

            foreach (var propertyMetadata in schemaMetadata.Properties.Where(pm => !pm.IsIgnored))
            {
                AddPropertyParametersTo(parameters, propertyMetadata);
            }

            return(new CreateIndexCommand(parameters));
        }