当前位置:  开发笔记 > 编程语言 > 正文

如何与MongoDb C#Driver 2.1异步使用AsQueryable方法?

如何解决《如何与MongoDbC#Driver2.1异步使用AsQueryable方法?》经验,为你挑选了1个好方法。

MongoDb C#Driver版本2.1的发布最近重新引入了该方法AsQueryable,但我很难找到一种异步调用它的方法.

使用Entity Framework可以实现,QueryableExtensions.ToListAsync但是我看不到使用MongoDb的等价物.

因此给出了一个存储库方法,例如:

public IQueryable GetFiltered(Expression> predicate)
{
        return Database.GetCollection(typeof(MyType).Name).AsQueryable().Where(predicate);
}

我想做点什么

var myTypes = await MyRepository.GetFiltered(t => t.Id == 1).ToListAsync();

这可能吗?



1> JohnnyHK..:

你从GetFiltered函数返回了错误的类型.它应该返回一个IMongoQueryable而不是IQueryable:

public IMongoQueryable GetFiltered(Expression> predicate)
{
    return Database.GetCollection(typeof(MyType).Name).AsQueryable()
        .Where(predicate);
}

然后,您可以成功将其命名为:

var myTypes = await MyRepository.GetFiltered(t => t.Id == 1).ToListAsync();

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有