3
정확하게 다음 SQL 쿼리 에 LINQ변환 중첩 SQL 쿼리
또한SELECT * FROM T1
WHERE ColumnA IN (
SELECT FkColumnA FROM T2
WHERE FkColumnB IN (
SELECT ColumnB FROM T3
WHERE FkColumnC IN (
SELECT ColumnC FROM T4
WHERE FkColumnD = 1)) AND FkColumnE is null AND ColumnF = 0)
을 변환하는 방법은 사람이 어떤 문서 알고 있나요, 거기에있어서 어떤 논리 나 가이드 라인에 SQL 쿼리를 LINQ로 변환?
편집 1 :
아래와 같이 될 것 조인 를 사용하여 위의 해당 : LINQ 쿼리가 될 것
select * from T1 a
inner join T2 b on a.FKColumnA = b.ColumnA
inner join T3 c on c.ColumnB = b.FkColumnB
inner join T4 d on d.ColumnC = c.FkColumnC
where a.FkColumnD is null and a.ColumnE = 0
and d.ColumnC = 1
과 동등한의를
var linq = from q in context.T1
join r in context.T2
on q.FKColumnA equals r.ColumnA
join s in context.T3
on r.FkColumnB equals s.ColumnB
join t in context.T4
on s.FkColumnC equals t.ColumnC
where q.FkColumnD != null && q.ColumnE == false && t.ColumnC == 56816
select q.FkColumnF;
그러나 사용 JOINS 조금 m 보입니다. 더 간단하고 좋은 광석 LINQ. 따라서 질문은 나의 지식 목적만을위한 것입니다.
당신이'JOIN'보다는'IN' 조항을 사용하고있는 이유는 무엇입니까? –
특별한 이유는 없습니다. 나는 또한 JOINS와 함께 할 수있다. 이것은 JOINS와 마찬가지로 내 지식을 위해서입니다. SQL을 LINQ로 변환하는 방법을 알고 있습니다. –