我如何使用LINQ来实现SQL所提供的不同联接

本文关键字:何使用 LINQ SQL 实现 | 更新日期: 2023-09-27 18:24:55

我需要转换这个查询:

SELECT *
FROM Table1 AS t1
left join Table2 t2 
    on t1.Column1 = t2.Column1
left join Table2 t2
    on t1.Column2 = t2.Column2 and t2.Column3 = 1

到LinqToSQL和Lambda。

我一直在寻找LINQ中SQL联接的良好解释,但没有找到任何明确说明如何利用LINQ实现SQL中提供的不同联接的内容。

有人能解释一下如何在SQL中利用不同的SQL联接吗。

我如何使用LINQ来实现SQL所提供的不同联接

试试这样的东西:

AlternativeLearningPlanYears
.GroupJoin
(
    Leas,
    x => x.DistrictLeaId,
    y => y.LeaId,
    (x,y) => new {x,y}
)
.GroupJoin
(
    Leas,
    x => new {x.PrivateInstitutionId,1},
    y => new {y.PrivateInstitutionId,IsPrivateInstitution},
    (x,y) => new {x,y}
)
.Where
(
    z => z.x.SchoolYear == 23
    && z.x.Granted == 1
    && z.x.PrivateInstitutionId == null
    && z.x.DistrictName == null
)

我没有你的模式,所以可能有一些错误,所以把它们发布出来,我们会解决的。。