Tengo una consulta linq donde estoy creando varias clases que tienen una propiedad Parent en ellas. Estoy buscando una forma de configurar la propiedad principal para que sea la clase que acabo de crear. Mi explicación apesta; aquí está el código de lo que estoy tratando de hacer.LINQ seleccionar nueva clase con un nombre
var query = from states in xml.Elements()
select new State
{
Children = from cities in states.Elements()
select new City()
{
ParentState = **???**;
}
};
¿Cómo configuro la propiedad ParentState? Si pudiera hacer algo como
select new State as newState
{
...
}
eso sería genial, pero no puedo. Sé que puedo hacer esto con un ciclo foreach, pero me gustaría aprender cómo, de ser posible, hacer esto con LINQ. Ayuda :(
EDIT: He intentado sea x = {} nuevo Estado, pero eso no ayuda mucho que esperaba poder hacer referencia a x en el constructor como este, pero que no funcionó:.
let x = new State
{
Children = from cities in states.Elements()
select new City{ ParentState = x }
}
select x;
En F #, hay algo similar a esta en la que sólo se puede decir dejar que rec x = ... y luego se puede hacer referencia a la variable en el interior de la instrucción de asignación. Pero esto es C# no F # por lo que sea.
Quiere que los objetos secundarios de la ciudad hagan referencia al objeto principal del estado. Su enfoque no logra este objetivo, ya que el Estado externo y el Estado padre no son el mismo objeto. –
Sí, ya lo veo. Problema interesante de hecho :) – sTodorov