2017-04-04 11 views
0

私はMongo DbとC#で一般的なリポジトリを実装しようとしていますが、音楽albunのコレクションを照会するのはmongodbで初めてです。MongoDB C#ドライバFilterDefinitionが動作しない

マイAlbunコレクションは、特定のtitle.Iは、単一のオブジェクトを照会するために私のリポジトリにこのメソッドを持っていて、アルバムを照会しようとして「タイトル」とイムを持つ文書があります。

public async Task<GetOneResult<TEntity>> GetOne<TEntity>(FilterDefinition<TEntity> filter) where TEntity : class, new() 
    { 
     var res = new GetOneResult<TEntity>(); 
     try 
     { 
      var collection = GetCollection<TEntity>(); 
      var entity = await collection.Find(filter).SingleOrDefaultAsync(); 
      if (entity != null) 
      { 
       res.Entity = entity; 
      } 
      res.Success = true; 
      return res; 
     } 
     catch (Exception ex) 
     { 
      return res; 
     } 
    } 

とIMこのようなFIlterDefinitionを作成することによって、アルバムを取得するためにtryng:

_context = new LibaryRepository(); 
     FilterDefinition<Book> filter = Builders<Book>.Filter.Eq("Title", "Besos de Perro"); 
     GetOneResult<Book> book = await _context.GetOne<Book>(filter); 

私はそれはそれを見つけるdidntのような接続が正しく設定および接続されているが、クエリは常にnullを返している私のMongoDBの中にこのタイトルでアルバムがあると知っています。

提案がありますか?

答えて

0

同期検索を呼び出そうとしましたか? (asyncとawaitを取り除いて)

+0

私はそれを同期的に呼び出しても、null値を返します – Jose

関連する問題