c# - 查询主体必须以核心方法上的 select 子句或 group 子句结尾
问题描述
在 LINQ 中对查询进行编码时出现错误:
var shortsms = await (from url in _dbContext.UrlBank
where url.LockBatchId ==
(from batch in _dbContext.LockBatch
where batch.LockBatchId.Equals(38)
&&
url.IsAssigned == 0
&&
url.IsLocked.Equals(1)
)
);
结果我需要 UrlBank 中 ShortUrl 的 firstOrDefault。
解决方案
显示错误消息是因为您缺少两个select 子句。它应该是这样的:
var shortsms = await (from url in _dbContext.UrlBank
where url.LockBatchId ==
(from batch in _dbContext.LockBatch
where batch.LockBatchId.Equals(38) && url.IsAssigned == 0 && url.IsLocked.Equals(1) select batch.Id) select url.ShortUrl);
推荐阅读
- google-smart-home - 目标设备的错误和阻塞异常有什么区别?
- python - Django:对模型上的方法的给定结果进行排序
- angular - mat-icon 不是角度中的已知元素
- jenkins - 使用 groovy 为自由式和管道作业打印 Git SCM 详细信息
- javascript - 如果后面的断言失败,如何重试第一个 cypress 命令
- splunk - 获取错误为“正则表达式:子模式名称中的语法错误(缺少终止符)。” 在 SPLUNK 中
- c - 我的 C 程序的“for”循环在 3 次迭代后停止
- azure-devops - 如何使用 Azure DevOps Server Rest APi 授予权限
- java - Spring Boot Rest API 返回与 Lombok 一起使用的空 JSON
- typescript - 打字稿路径未解析