2016-09-12 1 views
0

기본 양식이나 Linq에 익숙하기 때문에이 작업을 수행하는 방법을 모르겠습니다.내 두 linq 줄 코드를 결합 할 수 있습니까?

 var qry = from x in CustomersChecks.CustomersChecksList 
     where x.RoutingNumber == routingnumber && 
       x.BankAccountNumber == bankAccountNumber && 
      x.Branch > 0 && 
      x.AccountNumber > 0 
      orderby x.Name 
     select x; 

    var qry2 = qry.GroupBy(x => new { x.Branch, x.AccountNumber}).Select(x => x.First()).ToList(); 

가 궁극적으로 내가 분명히 지점 + 계좌 번호의 순서로 내 첫 번째 쿼리를 얻으려면 : 여기

의 코드 내 두 세트입니다.

결합 할 수 있습니까? 아니면 이것을 수행 할 수있는 유일한 방법입니까?

고맙습니다.

+0

에 의해 그룹을 incorrupating하여 다음을 수행하면 단순히 GROUPBY을하고 다음 두 개의 체인 대신 tolist을하고 시도? – Jakotheshadows

+1

예, 결합 할 수 있습니다. 단지'.ToList'를'.GroupBy ... '등으로 대체하십시오. 한 가지 덧붙이 자면, 나는 하나의 구문이나 다른 것을 섞어 놓는 것이 좋습니다. – mason

+0

그래, 나 한테 그걸 시도해 보자 – ErocM

답변

3

신속하고 더러운 해결책은 GroupBy 체인을 첫 번째 쿼리 끝에 추가하는 것입니다.

var qry = (from x in CustomersChecks.CustomersChecksList 
      where x.RoutingNumber == routingnumber && 
      x.BankAccountNumber == bankAccountNumber && 
      x.Branch > 0 && 
      x.AccountNumber > 0 
      orderby x.Name 
      select x).GroupBy(x => new { x.Branch, x.AccountNumber}) 
        .Select(x => x.First()) 
        .ToList(); 

또는 존재 쿼리 구문

var qry = (from x in CustomersChecks.CustomersChecksList 
      where x.RoutingNumber == routingnumber && 
      x.BankAccountNumber == bankAccountNumber && 
      x.Branch > 0 && 
      x.AccountNumber > 0 
      orderby x.Name 
      group x by new { x.Branch, x.AccountNumber} into grp 
      select grp.First()).ToList(); 
+0

굉장! 그것이 제가 찾고있는 것입니다. 이해해야 할 것이 있습니다. Tyvm! – ErocM

+0

@ErocM 방금 수정 한 두 번째 쿼리에는 한 가지 문제가 있습니다. – juharr

+0

그게 도움이, 나는 그룹이 지금 어떻게 작동하는지 더 잘 이해한다고 생각한다. Tyvm! – ErocM

2
var qry = CustomersChecks.CustomersChecksList.Where(x => 
    x.RoutingNumber == routingnumber && 
    x.BankAccountNumber == bankAccountNumber && 
    x.Branch > 0 && 
    x.AccountNumber > 0).OrderBy(x => x.Name) 
    .GroupBy(x => new { x.Branch, x.AccountNumber}) 
    .Select(x => x.First()) 
    .ToList(); 
+0

사실'GroupBy' 앞에'OrderBy'가 필요하기 때문에'First'가 반환하는 것에 영향을줍니다. – juharr

+0

네 말이 맞아. 편집 참조 –

+0

입력 해 주셔서 감사합니다! – ErocM

관련 문제