J'ai une collection d'objets appelée Gigs
. Chaque Gig
a une collection Acts
. En utilisant Linq je veux interroger ma collection de concerts pour obtenir tous les concerts où avec un acte qui a un identifiant de 7 par exemple.Interrogation des collections enfant dans LINQ
act.id = 7;
Alors j'ai commencé ... writting
return from gig in qry
where gig.Acts //not sure how to do this bit
select gig;
Mais je ne sais pas comment vous définissez les conditions sur la collecte des enfants dits actes.
Des idées?
Linq est vraiment, bizarre car il y a deux manières d'écrire la même requête. –
La requête complète est donc ... var x = gigs.Where (g => g.Acts.Select (a => a.Artist.ID) .Contains (7)); Si Artists est null (ce qui est parfaitement valide), j'obtiens une exception ... 'Shared.DO.Artist Artist' de 'Shared.DO.Act' n'est pas légal sur le type 'System.Collections.Generic.List' 1 [Shared.DO.Act] Hmmm pensées? – iasksillyquestions
Juste le modifier aussi regarder d'abord l'artiste, avant de vérifier l'ID: var x = gigs.Where (g => g.Acts.Select (a => a.Artist) .Sélectionner (b => b.ID). Contient (7)); ou –