这可能非常简单,但不幸的是,我很难弄清楚如何将具有“In”条件的 SQL 查询转换为 lambda。
SELECT *
FROM cm_wfapp
WHERE recgid IN (select distinct wfapp_id from cm_wftrn where approver_id = 32060)
有什么办法可以转换吗?
最佳答案
为清楚起见,您可以在 LINQ
中执行 2 个查询。请记住,LINQ
具有延迟执行模型,因此实际 查询将在实际请求时生成。
所以你可以尝试做这样的事情:
var ids = wfapp_id.Where(i=>i.approver_id == 32060);
//after use a ids in yor final query.
var result = cm_wfapp.Where(id=>ids.Contains(id.recgid));
这应该产生最佳结果,但您需要针对真实数据库及其数据再次测试它,以查看LINQ
是否生成良好的SQL
还是不是。
关于c# - 将条件为 "In"的 SQL 查询转换为 Lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16580817/