2012-03-27 1 views
-3

Comment pourrais-je choisir un parking avec id 1 et seules les voitures de l'année 200 dans ce parcLINQ à IEnumerable où l'enfant IEnumerable

var List<Parking> cityParkings = new List<Parking> 
{ 
    new Parking{ id = 1, carsInPark = new List<Car>{ new Car{ year = 2000}, new Car{ year = 2001} }}, 
    new Parking{ id = 2, carsInPark = new List<Car>{ new Car{ year = 2000}, new Car{ year = 1999} }}, 
    new Parking{ id = 3, carsInPark = new List<Car>{ new Car{ year = 2005}, new Car{ year = 2000} }}, 
} 

résultat attendu:

Parking { id = 1, carsInPark = List<Car>{ Car{ year = 2000} } } 

sélectionner le existant instance de stationnement de ID 1 avec des instances de voitures existantes, mais seulement les voitures de l'année 2000.

Merci;)

+0

** L'instance existante ** est nécessaire, car ce sont des modèles en fait NHibernate que je voudrais utiliser plus tard. – Alex

+0

bien. d'un autre côté il est quasiment impossible d'obtenir le même mais différent. – Alex

Répondre

1

Essayez

cityParkings.Where(p => p.id = 1) 
    .Select(pp => new Parking(){id = pp.id, carsInPark = pp.carsInPark.Where(c=>c.year == 2000).ToList()});