Пример #1
0
        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);
        }
Пример #2
0
        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());
        }
Пример #3
0
        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();
            */
        }
Пример #4
0
        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));
        }