Methodes de filtrage avec entity framework
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:
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:
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.