Example #1
0
 public static CreateIndexOptions CreateIndexOptions(string name, IIndexOptions options)
 {
     return(new CreateIndexOptions
     {
         Name = name,
         Unique = options.Unique,
     });
 }
Example #2
0
        public static IndexKeysDefinition <T> CreateIndexDefinition <T>(IEnumerable <IIndexField <T> > fields, IIndexOptions options)
        {
            if (fields.Count() < 1)
            {
                throw new InvalidOperationException("Fields length must be greater than 0");
            }

            var firstField  = fields.First();
            var otherFields = fields.Skip(1);

            var builder = new IndexKeysDefinitionBuilder <T>();
            var index   = CreateIndexDefinition(builder, firstField);

            foreach (var otherField in otherFields)
            {
                index = CreateIndexDefinition(index, otherField);
            }

            return(index);
        }
 public Task CreateIndex(string name, IEnumerable <IIndexField <TItem> > fields, IIndexOptions options)
 {
     return(Task.FromResult(true));
 }
 public async Task CreateIndex(string name, IEnumerable <IIndexField <TItem> > fields, IIndexOptions options)
 {
     var indexDefinition = MongoIndexHelper.CreateIndexDefinition(fields, options);
     var indexOptions    = MongoIndexHelper.CreateIndexOptions(name, options);
     await _collection.Indexes.CreateOneAsync(new CreateIndexModel <TItem>(indexDefinition, indexOptions));
 }