【发布时间】:2021-02-11 08:23:48
【问题描述】:
我已经检查了堆栈溢出中的所有论坛,但由于某种原因,我找不到简单的 SQL 连接的解决方案,这在 LinQ 中对我来说几乎是不可能的,但可能我误解了。
我有 3 个表,sql 连接如下所示:
school: name, id
class: name, id
chair: name, id
要做: table [class] 和 [chair] 总是硬连接 当班级和椅子不存在时,桌子[学校]也总是需要在那里
Select school.name, class.name, chair.name
from school
right outer join class on class.id = school.id
join chair on chair.id = class.id
在我看来,使用 {groupjoin} 和 {join} 的组合不起作用
【问题讨论】:
-
您所描述的(“表 [学校] 总是需要在那里”)需要左外连接。但是,如果您使用的是实体框架之类的东西,您应该将注意力从将 SQL 转换为 LINQ 上移开。相反,使用导航属性,EF 将找出正确的连接类型。
标签: mysql sql linq lambda right-join