많은 사람들이 다음과 같이 말했습니다. 순서는 결과 나 성능에 차이를 만들지 않습니다.
내가 지적하고자하는 것은 LINQ to SQL은 첫 번째 경우에만 허용합니다.! 예는, 예를 들어 다음은 잘 작동
...
var result = from a in db.a
join b in db.b on a.StatusID equals b.ID
select new { Name = a.Name, Status = b.Status }
...이 Visual Studio에서 오류가 발생합니다 때 :
이 컴파일러 오류가 발생
var result = from a in db.a
join b in db.b on b.ID equals a.StatusID
select new { Name = a.Name, Status = b.Status }
:
- CS1937 : 이름 '이름'을 '의 왼쪽에 범위에 있지 같음 '. 'equals'의 양쪽에서 표현식을 교환하는 것을 고려하십시오.
- CS1938 : 이름 'name'이 (가) 'equals'의 오른쪽 범위에 없습니다. 'equals'의 양쪽에서 표현식을 교환하는 것을 고려하십시오.
표준 SQL 코딩과는 관련이 없지만이 중 하나에 익숙해지면 고려해야 할 사항입니다.
위대한 답변! +1 –
공식 TODO http://wiki.postgresql.org/wiki/Todo#Features_We_Do_Not_Want에서 "PostgreSQL guys, sorry"- "Optimizer Hints"에 관해서. –
@Milen : 죄송합니다 다시 :) – Quassnoi