MongoDB IRepository db Соединения - PullRequest
1 голос
/ 26 мая 2011

Это то, что я имею до сих пор в отношении своего IRepository для MongoDB, и мне было интересно, нахожусь ли я на правильных строках?

public abstract class Repository<TEntity> : IRepository<TEntity> {

    private const string _connection = "mongodb://localhost:27017/?safe=true";
    private MongoDatabase _db;
    protected abstract string _collection{get;}

    public Repository() {
        this._db = MongoServer.Create(_connection).GetDatabase("Photos");
    }

    public IQueryable<TEntity> FindAll() {

        return this._db.GetCollection<TEntity>(_collection).FindAll().AsQueryable();
    }
}

Таким образом я могу создать свой класс PhotoRepository, который наследуетотсюда и предоставляет требуемое имя _collection.

Я просто хочу убедиться, что я открываю соединение с БД в правильном месте и в правильном пути.

1 Ответ

1 голос
/ 26 мая 2011

Да, это нормально.MongoServer.Create будет возвращать один и тот же экземпляр MongoServer при передаче одной и той же строки подключения, поэтому можно вызывать MongoServer.Create столько раз, сколько вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...