public static IBewatchThatBuilder AddMongo(this IBewatchThatBuilder builder, string connectionString) { RegisterMongoConventions(); var mongoCollectionProvider = new MongoCollectionProvider(connectionString); builder.Services .AddMongoCollection(mongoCollectionProvider, Collections.Resources) .AddSingleton <IResourceStore, MongoResourceStore>(); return(builder); }
private IMongoCollection <Member> GetMongoDataRepository() { var mongoConfig = new MongoConfiguration { MongoConnection = _mongoUrl }; var mongoOptions = Options.Create(mongoConfig); var mongoClientBuilder = new MongoClientBuilder(); var dbProvider = new MongoDatabaseProvider(mongoOptions, mongoClientBuilder); var provider = new MongoCollectionProvider <Member>(dbProvider, mongoOptions); return(provider.GetCollection()); }
public override void Load() { string connectionString = ConfigurationManager.ConnectionStrings["ReaderRssMongoDB"].ConnectionString; logger.Debug("initializing mongo collection provider"); IMongoCollectionProvider collectionProvider = new MongoCollectionProvider(connectionString); logger.Debug("ensuring mongo indexes"); var indexInitializer = new IndexInitializer(collectionProvider); indexInitializer.CreateIndexes(); Bind<IMongoCollectionProvider>().ToConstant(collectionProvider) .InSingletonScope(); //In Web Project. /* Bind<IUnitOfWork>().To<MongoUnitOfWork>() .InRequestScope(); */ }
private static IServiceCollection AddMongoCollection <T>(this IServiceCollection services, MongoCollectionProvider mongoCollectionProvider, Collection <T> collection) { var mongoCollection = mongoCollectionProvider.GetCollection <T>(collection.Name); mongoCollection.Indexes.CreateMany(collection.CreateIndexModels); return(services.AddSingleton(mongoCollection)); }