J'ai une liste déroulante qui, lorsqu'elle est sélectionnée, extrait les données d'une base de données. Il y a beaucoup d'options dans la liste déroulante et l'une d'elles est "Tout". Je veux que lorsque l'utilisateur sélectionne l'option "Tous", il devrait tout sortir de la base de données. Quel est un bon moyen d'implémenter cette fonctionnalité?Requêtes Linq conditionnelles
0
A
Répondre
7
Avec LINQ, vous pouvez modifier facilement une requête avant de l'envoyer à la base de données:
IQueryable<Item> query = dataContext.Items;
if (selectedText != "All")
{
query = query.Where(item => item.Type == selectedText);
}
List<Item> result = query.ToList();
Sinon, vous pouvez l'écrire dans une seule requête:
IQueryable<Item> query = dataContext.Items
.Where(item => selectedText == "All" || item.Type == selectedText);
1
Vérifiez la valeur et exécutez uniquement l'instruction Where sinon "Tous".
var linqQuery = ...
if (selectedValue != "All")
linqQuery = linqQuery.Where(w => w.Value == selectedValue);
0
Si vous êtes En développant dynamiquement vos requêtes, vous voudrez peut-être jeter un coup d'œil à l'un des exemples vraiment intéressants de Linq, "la bibliothèque Dynamic Linq". Scott Guthrie a un joli blog post à ce sujet. Editer: Notez que dans ce cas précis, vous êtes sur le côté droit de la clause where, vous n'avez pas besoin d'être complètement dynamique et cela serait excessif, mais si vous avez une situation où vous filtrez aussi dynamiquement , alors .....
Questions connexes
- 1. Requêtes Linq conditionnelles
- 2. Sous-requêtes dans linq
- 3. Sous-requêtes Linq
- 4. Requêtes LinQ compilées
- 5. Requêtes hiérarchiques dans LINQ
- 6. Nested requêtes LINQ
- 7. Plusieurs requêtes LINQ "IN"
- 8. linq combinant 2 requêtes
- 9. requêtes internes à LINQ
- 10. LINQ Requêtes ignorées. Pourquoi?
- 11. sous-requêtes linq
- 12. Nested requêtes LINQ Saga
- 13. Création Linq réutilisable requêtes
- 14. Formation LINQ: requêtes SQL natives sur LINQ
- 15. Clauses conditionnelles pour une requête linq vers Db4O?
- 16. Compiler automatiquement les requêtes Linq
- 17. LINQ to Entities requêtes Oddity
- 18. Extraction de requêtes Linq génériques
- 19. Linq 2 SQL Requêtes dynamiques
- 20. Accélération des requêtes avec LINQ
- 21. requêtes linq-to-sql imbriquées
- 22. LINQ - Requêtes compilées dans VB.net
- 23. conditionnelle requêtes LINQ dans VB.NET
- 24. requêtes linq en utilisant si
- 25. Références conditionnelles
- 26. C# LINQ: Comment empiler les requêtes LINQ correctement
- 27. Syntaxe des requêtes LINQ sur Lambda
- 28. Requêtes paramétrées SubSonic 3 et Linq
- 29. Linq Requêtes de conversion en expressions lambda?
- 30. requêtes Linq dynamiques avec Entity Framework
ou peut-être: query.Where (item => selectedText == "Tous" || item.Type == selectedText); –
@mgroves: Merci, ajouté. –