2013-04-24 5 views
0

도트 표기법으로 쿼리 표기법을 작성하는 방법을 알고 있지만 도트 표기법으로 어떻게 교차 조인을 작성합니까?도트 표기법으로 LINQ 교차 결합을 수행하는 방법

List<Alpha> als = new List<Alpha>{new Alpha(), new Alpha()}; 
    List<Bravo> bros = new List<Bravo>{new Bravo(), new Bravo()}; 

    //so far so good. 
    var res = from a in als 
       from b in bros 
       select new { A = a, B = b }; 

    var what = res.ToArray(); 

    //hmmmm. Not so sure. 
    var result = als.Join(bros, null, null, (x, y) => new { X = x, Y = y }); 

이 질문에 요구하는 또 다른 방법 : C# 컴파일러가 보이지 않게 변환 할 때 조인 크로스 점 표기법으로 쿼리 표기를, 어떤 점 표기법 모습 않음을?

+0

. 일단 당신이 그것을 이해하면, 이것은 케이크이어야합니다. –

답변

1

은 내 생각과 같은 그

als.SelectMany(x => bros, (a, b) => new {A = a, B = b}); 
-1

그것은 보일 것입니다 뭔가 :

var res = als.Join(bros, 
    alsItem => alsItem.IdToJoin, 
    brosItem => brosItem.OtherId, 
    (alsItem, brosItem) => {X = alsItem, Y = brosItem}); 
+0

그것은 내부 조인이 될 것입니다. –

1
als.SelectMany(a => bros.Select(b => new {A = a, B = b})); 
그것은 "점 표기법"에 대한 쿼리 구문의 번역이 이루어 방법을 배울 도움이 될