【发布时间】:2021-04-16 19:02:48
【问题描述】:
我想通过 ef core 过滤我的数据,我正在尝试通过返回 Task<bool> 的异步方法过滤用户。
var query = _context.User.AsQueryable();
query.Where(async (arg) => await _userInterface.CheckUserAvabilityAsync(user, arg.Id) == true);
但是使用这段代码,我得到了这个错误
CS4010:无法将异步 lambda 表达式转换为委托类型“Func
那么如何通过我的方法过滤我的可查询数据?
【问题讨论】:
-
那毫无意义。 EF Core 是一个 ORM。它将 LINQ 查询转换为 SQL。即使是简单的函数调用,您发布的内容也无法转换为 SQL - 对本地方法的调用如何转换为 SQL。至于异步,SQL 查询不指定如何检索数据,它们指定数据应该是什么。异步执行在 SQL 查询中没有任何意义
标签: c# .net-core ef-core-3.1