Bonjour à toutes et a tous,
Je souhaiterais savoir qu'elles sont les méthodes que vous utilisez pour filtrer vos listes de données dans vos app MVC avec Entity framework.
Avez-vous une methode de filtrage "générique" => filtrage dynamique ?
Exemple : https://github.com/StefH/System.Linq.Dynamic.Core
Une méthode ou vous rechercher une chaine dans tous les champs de tables?
Exemple :
Une méthode ou vous écrivez vous mème le "Where" (prédicat) en fonction des champs de recherche ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public List<Movie> GetMovies(FilteringParams filteringParams) { var query = this.movies.AsQueryable(); var filterBy = filteringParams.FilterBy.Trim().ToLowerInvariant(); if (!string.IsNullOrEmpty(filterBy)) { query = query .Where(m => m.LeadActor.ToLowerInvariant().Contains(filterBy) || m.Title.ToLowerInvariant().Contains(filterBy) || m.Summary.ToLowerInvariant().Contains(filterBy)); } return query.ToList(); }
Exemple :
Autres méthodes ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public List<Movie> GetMovies(string title, string summary, string leadActor) { var query = this.movies.AsQueryable(); if (!String.IsNullOrWhiteSpace(title)) query = query .Where(u => u.Title.Contains(title); if (!String.IsNullOrWhiteSpace(summary)) query = query .Where(u => u.Summary.Contains(summary); if (!String.IsNullOrWhiteSpace(leadActor)) query = query .Where(u => u.LeadActor.Contains(leadActor); return query.ToList(); }
Je suis à la recherche d'une méthode la plus "propre" possible et également dynamique pour filtrer mes listes de données.
J'ai pu voir pas mal de solutions à droite et a gauche mais rien ne ma semblé bien structuré et super productif ^^
Je souhaiterais avoir vos avis sur la question.
Je vous remercie.
Partager