2012-08-16 5 views
0

에 가입 :매핑 LinqToEntities 나는 다음과 같은 모델 및 ViewModels은 (간결하게 편집) 한 뷰 모델

 Order Model: 
      OrderId 
      ShippingAddressId 
      ..... 
    Address Model: 
      AddressId 
      ..... 
    OrderViewModel: 
      Some Property from Order Model and Address Model 

어떻게 내부는 두 개의 테이블을 조인하고 뷰 모델에 매핑 할 수 있습니까?

var query= from o in ctx.Orders 
     join addr in ctx.Addresses 
     on o.ShippingAddressId equals addr.AddressId 
     select new OrderViewModel.InjectFrom(o) 
           .InjectFrom(addr) 
           as OrderViewModel; 

이 코드는 작동하지 않습니다.

먼저 ToList과 결과를 구체화 할 필요가

답변

1

:

var query = (from o in ctx.Orders 
      join addr in ctx.Addresses 
      on o.ShippingAddressId equals addr.AddressId 
      select new { o, addr } 
      ).ToList() 
      .Select(x => new OrderViewModel().InjectFrom(x.o) 
               .InjectFrom(x.addr) 
          as OrderViewModel);