Me encontré con un problema hoy y he estado perplejo por algún tiempo tratando de obtener los resultados que estoy buscando.Pregunta de consulta de LINQ anidada
Actualmente tengo una clase similar al siguiente:
public class InstanceInformation
{
public string PatientID {get; set;}
public string StudyID {get; set;}
public string SeriesID {get; set;}
public string InstanceID {get; set;}
}
Tengo un List<InstanceInformation>
y yo estoy tratando de utilizar LINQ (o cualquier otro medio para generar caminos (para un directorio de archivos) basada en esta lista similares a los siguientes:
PatientID/StudyID/SeriesID/InstanceID
Mi problema es que los datos no es estructurado actualmente, ya que viene en la forma antes mencionada (lista) y necesito una forma de agrupar todos los datos con los ss obstáculos que plantean:
- Grupo InstanceIDs por SeriesID
- Grupo SeriesIDs por StudyID
- StudyIDs Grupo de PatientID
que actualmente tienen algo que se parece a esto:
var groups = from instance in instances
group instance by instance.PatientID into patientGroups
from studyGroups in
(from instance in patientGroups
group instance by instance.StudyID)
from seriesGroup in
(from instance in studyGroups
group instance by instance.SeriesID)
from instanceGroup in
(from instance in seriesGroup
group instance by instance.InstanceID)
group instanceGroup by patientGroups.Key;
que solo agrupa todos mis ID de instancia mediante PatientID, y es bastante difícil eliminar todos los datos después de esta agrupación masiva para ver si las áreas intermedias (StudyID/SeriesID) se están perdiendo. Cualquier otro método para resolver este problema sería más que bienvenido.
Esto es principalmente sólo para agrupar los objetos - como que iba a necesitar para iterar a continuación, a través de ellos (el uso de un foreach)
¿Esto ayudaría? var result = instances.GroupBy (i => new {i.InstanceID, i.SeriesID, i.StudyID, i.PatientID}) – WorldIsRound
Nope - Gracias a HelloWorld, esto dio como resultado solo una lista de todos los elementos de mi lista . Creo que el problema que estoy teniendo es tratar de usar LINQ para construir relaciones. –