LINQ выбирают новый класс с именем

У меня есть запрос linq, где я создаю несколько классов, которые имеют свойство Parent на них. Я ищу способ установить родительское свойство, чтобы быть классом, который я просто создал. Мое объяснение сосет; вот код того, что я пытаюсь сделать.

var query = from states in xml.Elements()
                    select new State
                    {
                        Children = from cities in states.Elements()
                                   select new City()
                                    {
                                        ParentState = **???**;
                                    }
                    };

Как я устанавливаю свойство ParentState? Если я мог бы сделать что-то как

select new State as newState
{
    ...
}

это было бы прохладно, но я не могу. Я знаю, что могу сделать это с циклом foreach, но я хотел бы учиться как, если это возможно, сделать это с LINQ. Справка :(

Править: Я попробовал, позволяют x = новое состояние {}, но это не помогло многому. Я надеялся, что мог обратиться к x в конструкторе как это, но он не удался:

let x = new State 
{  
    Children = from cities in states.Elements()
               select new City{ ParentState = x }
}
select x;

В F# существует что-то подобное этому, где, как можно просто сказать, позволяют rec x =..., и затем можно обратиться к переменной в операторе присваивания. Но это - C# не F# так безотносительно.

6
задан fora 25 July 2010 в 22:00
поделиться