Пример #1
0
        public static IServiceProvider Bootstrap(IServiceCollection services, Settings settings)
        {
            var container = new Container();

            container.Configure(config =>
            {
                config.Scan(scanner =>
                {
                    scanner.TheCallingAssembly();
                    scanner.WithDefaultConventions();
                });


                // servcies

                var mongoClient = MongoConnectionFactory.GetConnection(settings.ConnectionString);
                config.For <IUserRepository <string> >().LifecycleIs(new ThreadLocalStorageLifecycle()).Use(MongoUserRepository.Create(mongoClient, settings.DbName));
                config.For <ILogRepository <string> >().LifecycleIs(new ThreadLocalStorageLifecycle()).Use(MongoLogRepository.Create(mongoClient, settings.DbName));

                config.For <ILogService>().Use <LogService>();
                config.For <IUserService>().Use <UserService>();

                // external services
                config.Populate(services);
            });

            return(container.GetInstance <IServiceProvider>());
        }
Пример #2
0
        public void Setup()
        {
            _expectedBook = new Book
            {
                Author    = Author,
                Title     = Title1,
                Publisher = Publisher,
                Isbn      = Isbn
            };

            _differentBook = new Book
            {
                Author    = Author + " Different",
                Title     = Title1 + "Different",
                Publisher = Publisher + "Different",
                Isbn      = Isbn + "Different",
            };

            _mongoDatabase   = MongoConnectionFactory.GetMongoDatabase();
            _plainCollection = _mongoDatabase.GetCollection("books");
            _bookCollection  = _mongoDatabase.GetCollection <Book>("books");

            _repository = new BookRepository(_mongoDatabase);

            _plainCollection.Drop();
        }
        public void ShouldConnectToMongoDatabase()
        {
            MongoDatabase mongoDatabase = MongoConnectionFactory.GetMongoDatabase();

            Assert.IsNotNull(mongoDatabase);
            MongoCollection <BsonDocument> mongoCollection = mongoDatabase.GetCollection("students");

            Assert.IsNotNull(mongoCollection);

            var asQueryable = mongoCollection.AsQueryable();

            logger.Debug("Spinning through students");
            foreach (var bsonDoc in asQueryable)
            {
                logger.Debug("student = {0}", bsonDoc["name"]);
            }
        }
Пример #4
0
    public MongoDbContext(MongoConnectionFactory mongoDBFactory, IOptions <MongoOptions> options)
    {
        options.Value.ConnectionString ??= "mongodb://localhost:27017/FantasySky";

        _connection = mongoDBFactory.CreateConnection(options);
    }