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 :
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();
        }
Une m�thode ou vous �crivez vous m�me le "Where" (pr�dicat) en fonction des champs de recherche ?

Exemple :
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();
        }
Autres m�thodes ?


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.