【发布时间】:2020-06-09 19:48:59
【问题描述】:
我有一个带有 2 个表的实体对象:rest 和 rest_services
我想使用链式 LINQ 查询复制以下 SQL 查询(并将其放入十进制列表中)
SELECT a.rest_id
FROM rest a, rest_services b
WHERE a.rest_id = b.rest_id
AND a.manager_id = 500
AND b.channel = 5
我已经解决了各种 stackoverflow 问题
Join/Where with LINQ and Lambda
How to perform Join between multiple tables in LINQ lambda
我在非链式语法方面取得了一些成功,但我无法正确放置 WHERE 的第二部分
var Hot =
from h in db.rest
join hs in db.rest_services on h.rest_id equals hs.rest_id
where h.manager_id == 523 && hs.channel== 5
select h.rest_id
任何帮助表示赞赏
【问题讨论】:
-
谢谢队友。完成
-
where h.manager_id == 523 && x => hs.channel== 5← 将其放在join之后并完全删除.Where(...。应该是这样,除非您不想投影输出,在这种情况下,select h.rest_id而不是您现在拥有的select。 -
这是我的错,因为我没有真正查看我从您的尝试中复制的代码:已修复:
where h.manager_id == 523 && hs.channel== 5 -
var myListOfDecimals = Hot.ToList();