2013-08-07 3 views
1

여러 테이블을 조인하여 고유 값을 가져 오려고합니다. 다른 사람이 아래 코드에서 동일한 작업을 수행하는 방법을 알려주시겠습니까? 내가 표현에 완전히 쓴 것했지만Entity Framework 여러 테이블의 고유 레코드

var distinctValues = (from a in dataContext.A_Table 
         join b in dataContext.B_Table on a.EmpID equals b.EmpID 
         join c in dataContext.C_Table on b.SomeID equals c.ID 
         where a.IsActive == true 
          && a.ID == id 
         select new NewClass() 
           { 
            ID = c.ID, 
            Name = c.Name 
           }).ToList(); 
+1

이) ('고유 추가 충분 'ToList()'의 바로 전에. –

+0

고마워요 ... – user972255

답변

1

음이, 많은 변화없이 작동 :

아래 예제 코드를 참조하십시오

var distinctValues = (from a in dataContext.A_Table 
         join b in dataContext.B_Table 
         on a.EmpID equals b.EmpID 
         join c in dataContext.C_Table 
         on b.SomeID equals c.ID 
         where a.IsActive == true 
         && a.ID == id 
         select new NewClass() 
         { 
          ID = c.ID, 
          Name = c.Name 
         }).ToList() 
         .GroupBy(x=>new {ID = x.ID,Name = x.Name}) 
         .Select(x=>new {ID = x.Key.ID,Name = x.Key.Name}); 
+0

위의 코드는 고유 한 이름 만 반환하지만 NewClass (ID 및 이름 열 포함)의 고유 개체가 필요하다고 생각합니다. NewClass 객체의 형태로 고유 ID 및 이름을 반환하는 방법을 알려주시겠습니까? – user972255

+0

그런 다음 GroupBy와 고유성을 변경해야합니다. 내 업데이트를 확인하십시오. –

관련 문제