c# - Inner Join LINQ 不做新模型
问题描述
我正在使用 LINQ,我需要进行内部连接。这是我的代码:
var requests =
(from request in db.Request
join estatus in db.typesStatus
on request.fkStatus equals estatus.idStatus
where request.fkStatus == status && DbFunctions.TruncateTime(request.dateRquest) == DbFunctions.TruncateTime(fecha)
select new { request = request, estatus = estatus.status, nombre = (String)UserAccessRequest.checkUserAsync(request.wiwMakeRequest, "name").Result })
.ToList();
我试图在我的 LINQ 查询中调用一个方法。这个调用一个 API 并返回一个字符串,但我收到了下一个错误:
LINQ to Entities 无法识别方法 'System.Threading.Tasks.Task`1[System.Object] checkUserAsync(System.String, System.String)' 方法,并且此方法无法转换为存储表达式。
有什么方法可以在不为此 LINQ 查询的结果建立模型的情况下进行 LINQ 查询?
解决方案
只需在 LINQ 查询将数据加载到内存后调用您的方法:
var requests =
(from request in db.Request
join estatus in db.typesStatus
on request.fkStatus equals estatus.idStatus
where request.fkStatus == status && DbFunctions.TruncateTime(request.dateRquest) == DbFunctions.TruncateTime(fecha)
select new { request = request, estatus = estatus.status })
.ToList()
.Select(i => new { i.request, i.estatus, nombre = (String)UserAccessRequest.checkUserAsync(i.request.wiwMakeRequest, "name").Result })
.ToList()
推荐阅读
- django - Django用户重置密码,MongoDB存储用户信息
- typescript - 如何在不是nestjs路由的方法上设置装饰器
- javascript - 如何在反应中将.properties文件转换为json对象
- c# - 如何让程序记住猜测的字母?
- excel - 使用来自 3 个单元格中的 1 个单元格的信息填充数据
- angular - 在 Angular 中,如何插入代替
在CKeditor中按下回车时?
- android - 如何在 Kotlin 的字符串 xml 文件中添加可点击链接?
- python - 根据登录用户显示 django 过滤器选项
- c# - 字符串自定义格式化程序 .NET
- nats.io - 找不到消息总线 pubsub.jetstream/v1 Dapr