Je voudrais voir un exemple qui tire le meilleur parti de l'opérateur ALL lors de l'utilisation d'une relation parent-enfant dans LINQ. Pouvez-vous me montrer un s'il vous plaît?Utilisation de l'opérateur All
Répondre
La méthode d'extension All() vérifie un prédicat par rapport à tous les éléments; par exemple, lors de l'exécution:
if(order.Lines.All(l=>l.IsClosed)) order.Close();
(contrôle toutes les lignes sont fermées, et si oui, ferme l'ordre)
de dans une requête:
var qry = from order in ctx.Orders
where order.CustomerId = id
select new {
order.OrderId,
IsShipped = order.Lines.All(l => l.IsShipped)
};
Comment gérer un cas où sélectionner tous les clients ayant une commande .. est-ce un bon candidat pour 'Tous'? – Viks
non; ce serait Any - c'est-à-dire de cust dans ctx.Customers où cust.Orders.Any() sélectionnez cust; –
Si vous voulez obtenir les parents avec si tous ses enfants sont actifs.
from p in MyContext.Parents
select new
{
p,
ChildrensActive = p.Childrens.All(c=> c.IsActive)
}
De nombreux exemples LINQ ici: http://msdn.microsoft.com/en-us/vcsharp/aa336746.aspx
IEnumerable<CD> goodCDs = CDs
.Where(cd => cd.Songs.All(song => song.Rating > 6))
- 1. comment utiliser ALL clause dans mysql
- 2. mysql recherche fulltext "all but" requête
- 3. Mod ReWrite Catch-All Sous-domaine
- 4. comment rechercher all/wildcard dans lucern solr
- 5. Milieu entre XSD all et séquence XSD
- 6. Gestionnaire d'exceptions catch-all dans Grails
- 7. Comment sélectionner dans le jeu de résultats UNION ALL opération
- 8. Gestion des pluriels à l'aide de xgettextt avec --extract-all
- 9. Msiexec REINSTALL = ALL REINSTALLMODE = vamus ne réinstallant rien
- 10. Un modèle XSL peut-il correspondre dans les modes * ALL *?
- 11. Erreur: L'expression de table commune récursive 'EmailLog' ne contient pas d'opérateur UNION ALL de niveau supérieur
- 12. Masquer les listes de la page "All Site Content" du site SharePoint
- 13. comment appliquer la clause d'exception "catch-all" au script complexe de grattage Web python?
- 14. SQL one-to-many correspondance d'un côté par ALL dans de nombreux côté
- 15. Symfony « ne peut pas chercher TableMap » erreur lors de l'utilisation propel: build-all
- 16. Utilisation de Java 5 enums comme variables de vitesse
- 17. Utilisation de jQuery.data
- 18. Utilisation de sql JOIN
- 19. Utilisation de UINavigationBars translucides
- 20. Utilisation varargs de Scala
- 21. Utilisation de GDI + Bitmap
- 22. Utilisation de SetProcessWorkingSetSize
- 23. Utilisation de CoTaskMemAlloc?
- 24. Utilisation de Exception.Data
- 25. Utilisation de java.math.MathContext
- 26. Utilisation de System.exit (0)
- 27. Utilisation de RAMDirectory
- 28. Utilisation de l'ID chiffré
- 29. Utilisation de MFC: GetWindowRect
- 30. wxPython: Utilisation de EVT_IDLE
Re votre question (clients avec ordre) - non; ce serait Any - c'est-à-dire de cust dans ctx.Customers où cust.Orders.Any() sélectionnez cust; –