新しいMongoDBドライバーでは、すべてが非同期メソッドに基づいているため、データをクエリするための古いメソッドは適用されなくなりました。
基本的に、findメソッドを使用してMongoRepositoryクラスを作成する必要があり、そのリポジトリには次のFindメソッドを含めることができます。
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();
}
}
これは次のように実装できます:
MongoRepository<Registration> repo = new MongoRepository("Registrations");
IList<Registration> registrations = repo.Find(i => i.SomeProperty == true);
APIへの変更を実装する方法に関するいくつかの良い情報がここにあります: http://mongodb.github.io/mongo-csharp-driver/2.0/upgrading/