我有根据过滤器
返回集合的存储库方法public IEnumerable<T> GetMany(Expression<Func<T, bool>> filter = null)
{
IQueryable<T> query = DbSet;
if (filter != null)
{
query = query.Where(filter);
}
return query.ToList();
}
现在我想把这个方法写成Async。这是我的问题。
我应该将DbSet(DbSet<T>
)的类型更改为其他内容或者什么是正确的解决方案?
protected readonly DbSet<T> DbSet;
public Repository(AdminDbContext context)
{
this.Context = context;
this.DbSet = context.Set<T>();
}
UPD:return query.ToListAsync();
- 这够了吗?感谢
答案 0 :(得分:1)
正如this MSDN article中所述,您仍然使用DbSet
,但您使用异步扩展来访问该集。
这是您的代码的异步版本:
public Task<IEnumerable<T>> GetManyAsync(Expression<Func<T, bool>> filter = null)
{
IQueryable<T> query = DbSet;
if (filter != null)
{
query = query.Where(filter);
}
return query.ToListAsync();
}