将 SQL 子查询转换为包含 IN、DISTINCT 关键字的 LINQ 格式
Posted
技术标签:
【中文标题】将 SQL 子查询转换为包含 IN、DISTINCT 关键字的 LINQ 格式【英文标题】:Convert SQL subquery to LINQ format which contains IN, DISTINCT keywords 【发布时间】:2018-04-02 20:02:05 【问题描述】:先生/女士,我想将下面提到的 SQL 查询转换为 LINQ,我该如何实现。
select * from dbo.Main as M
where M.ApplicationId in
(select distinct R.ApplicationId from tblRecomSanctionedDetail R
where R.UpdateByUserId = 1011 )
尝试使用我对 LINQ 的有限知识,但无法获得输出。
【问题讨论】:
DISTINCT
在这里没有做任何事情,所以你可以删除它。检查这个答案IN()
***.com/questions/51339/…
感谢 Aaron 我能够得到想要的结果
【参考方案1】:
目前我没有任何地方可以对此进行测试,但我认为大概会是……
var applicationIds = tblRecomSanctionedDetailQueryable.Where(x => x.UpdateByUserId == 1011).Select(x => x.ApplicationId);
var result = mainQueryable.Where(x => applicationIds.Contains(x.ApplicationId)).ToList();
【讨论】:
谢谢 Timovski 我也能够使用此查询获得所需的结果以上是关于将 SQL 子查询转换为包含 IN、DISTINCT 关键字的 LINQ 格式的主要内容,如果未能解决你的问题,请参考以下文章