2017-04-04 197 views
0

即时通讯尝试使用Mongo Db和c#实现通用存储库,以查询音乐albuns集合,这是我第一次使用mongodb工作,所以可能我错过了一些概念。MongoDB c#驱动FilterDefinition不起作用

我Albun收集有一个“标题”文件和IM试图用具体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 tryng通过创建这样一个FIlterDefinition检索专辑:

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

我知道有一个相册这个题目在我的MongoDB的连接是否正确设置和连接,但该查询始终返回null,因为它没有找到它。

有什么建议吗?

回答

0

您是否尝试同步呼叫查找? (通过删除异步并等待)

+0

我同步调用它,仍然返回空值 – Jose