2012-01-05 2 views
0

사용자 정의 형식으로의 LINQ 하위 쿼리를 가져, 나는 사용자 정의 형에 해당 쿼리의 결과를 저장하려면, 내 쿼리는내가 더 하위 쿼리를 가지고있는 LINQ 쿼리를 가지고

var val = (from emp in Employees 
        join dept in Departments 
        on emp.EmployeeID equals dept.EmployeeID 
        select new Hello 
        { 

         EmployeeID = emp.EmployeeID 
         Spaces = (from order in Orders 
           join space in SpaceTypes 
           on order.OrderSpaceTypeID equals space.OrderSpaceTypeID 
           where order.EmployeeID == emp.EmployeeID         group new { order, space } by new { order.OrderSpaceTypeID, space.SpaceTypeCode } into g 
           select new 
           { 
            ID = g.Key.SpaceTypeID, 
            Code = g.Key.SpaceTypeCode, 
            Count = g.Count() 
           }) 
        }).ToList(); 

정의입니다 나의 안녕을 위해 클래스 내 월드 클래스

public class Hello 
{  
    public IEnumerable<World> Spaces { get; set; } 
    public int PassengerTripID { get; set; }  
} 

정의 당신은 anony를 만드는

public class World 
{ 
    public int ID { get; set; } 
    public string Code { get; set; } 
    public int Count { get; set; } 
} 

답변

1

입니다 개체를 지정해야하지만 형식 이름을 지정해야합니다.

select new World 
      { 
      ID = g.Key.SpaceTypeID, 
      Code = g.Key.SpaceTypeCode, 
      Count = g.Count() 
      }) 
+0

너무 간단하지만 너무 효과적입니다. Big Thanks –

관련 문제