Di Driver MongoDB baru, semuanya sekarang didasarkan pada metode async, sehingga metode lama untuk meminta data tidak lagi berlaku.
Pada dasarnya, Anda ingin membuat kelas MongoRepository, dengan metode find, dan repositori tersebut dapat memiliki metode Find berikut:
public class MongoRepository<T>
{
protected IMongoCollection<T> _collection;
public MongoRepository(string collectionName)
{
// Get your mongo client and database objects here.
_collection = _mongoDb.GetCollection<T>(collectionName);
}
public async Task<IList<T>> Find(Expression<Func<T, bool>> query)
{
// Return the enumerable of the collection
return await _collection.Find<T>(query).ToListAsync();
}
}
Ini kemudian dapat diimplementasikan seperti ini:
MongoRepository<Registration> repo = new MongoRepository("Registrations");
IList<Registration> registrations = repo.Find(i => i.SomeProperty == true);
Ada beberapa informasi bagus tentang bagaimana perubahan pada API dapat diterapkan di sini:http://mongodb.github.io/mongo-csharp-driver/2.0/upgrade/