Получить Linq подзапрос в пользовательский тип - PullRequest
0 голосов
/ 05 января 2012

У меня есть запрос 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();

Определение для моего класса Hello -

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

Определение для моего мирового класса:

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

1 Ответ

1 голос
/ 05 января 2012

Вы создаете анонимный объект, но вам нужно указать имя типа World

 select new World
          {
           ID = g.Key.SpaceTypeID,
           Code = g.Key.SpaceTypeCode,
          Count = g.Count()
           })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...