gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 13:06:52 25 4
gpt4 key购买 nike

最近发布的 MongoDb C# 驱动程序 2.1 版重新引入了方法 AsQueryable,但我正在努力寻找一种异步调用它的方法。

使用 Entity Framework ,这将使用 QueryableExtensions.ToListAsync 来实现,但我看不到使用 MongoDb 的等效项。

所以给定一个存储库方法,例如:

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

我想做类似的事情

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

这可能吗?

最佳答案

您从 GetFiltered 返回了错误的类型功能。它应该返回 IMongoQueryable<MyType>而不是 IQueryable<MyType> :

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

然后您可以成功地将其称为:

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

关于c# - 如何将 AsQueryable 方法与 MongoDb C# Driver 2.1 异步使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34042367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com