LINQ sélectionnez nouvelle classe avec un nom

J'ai une requête linq où je suis la création de plusieurs classes qui ont un Parent de propriété sur eux. Je suis à la recherche d'un moyen pour définir la propriété parent pour être la classe je viens de créer. Mon explication suce; voici le code de ce que je suis en train de faire.

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

Comment puis-je régler l'ParentState propriété? Si je pouvais faire quelque chose comme

select new State as newState
{
    ...
}

ce serait cool, mais je ne peux pas. Je sais que je peux le faire avec une boucle foreach, mais je voudrais savoir comment procéder, si possible, de le faire avec LINQ. Aide 🙁

EDIT: j'ai essayé
soit x = nouvel État{ } mais cela ne l'aide pas beaucoup. J'espérais que je pourrais consulter pour x dans le constructeur comme ça, mais ça n'a pas fonctionné:

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

En F#, il y a quelque chose de similaire où vous pouvez simplement dire let rec x = ...
et puis vous pouvez vous référer à la variable à l'intérieur de l'instruction d'affectation. Mais c'est le C# et non pas F# de sorte que ce soit.

InformationsquelleAutor fora | 2010-07-25