У меня есть запрос 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# так безотносительно.