2011-10-18 4 views
1

VB.NET LINQ에서이 SQL 쿼리를 작성하려면 어떻게해야합니까? 난 당신이 꽤 비슷한 VB로 그것을 변환 할 수 상상VB.NET에서이 SQL 쿼리를 작성하는 방법 LINQ

var validSerialNumbers = from a in dbContext.A 
         join b in dbContext.B on a.ID equals b.ID 
         group a.SerialNo by a.SubjectId into g 
         select g.Max(); 

var query = from a in dbContext.A 
      join b in dbContext.B on a.ID equals b.ID 
      where validSerialNumbers.Contains(a.SerialNo) 
      where b.Status == "N" 
      select new { a, b }; 

var count = query.Count(); 

: 같은

SELECT COUNT(*) AS COUNT_NO 
FROM A INNER JOIN B ON A.ID = B.ID 
WHERE A.SERIAL_NO IN (SELECT MAX (A.SERIAL_NO) 
         FROM A INNER JOIN B ON A.ID = B.ID 
         GROUP BY A.SUBJECT_ID) 
AND B.STATUS = 'N'; 

덕분에

+0

쿼리에서'group by'의 용도는 무엇입니까? –

답변

0

음, 합리적으로 직접 C#을 변환 수있는 작품. 불행히도 리플렉터 (Reflector)는이 일에 대해 좋은 성과를 내지는 못하지만, 절은 내가 알고있는 한 1 대 1로 전환해야합니다.

+0

덕분에 지금은 .... –

관련 문제