I want to create a dynamic method for selecting data bei using contains in a where clause. I found a lot of information about expressions, but I can't find a combination that works.
I posted my method and I stuck at this line:
.Where(p => p.Description != null && p.Description.ToLower().Contains(lowerFilter));
What is best practice by solving the problem?
Selection Method:
public List<TEntity> GetItems(string sortBy, string sort, string? filter)
{
    IQueryable<TEntity> items = dbContext.Set<TEntity>();
    if (filter != null && filter.Length > 0)
    {
        string lowerFilter = filter.ToLower(CultureInfo.CurrentCulture);
        items = items
            .Where(p => p.Description != null && p.Description.ToLower().Contains(lowerFilter));
    }
    if (!string.IsNullOrEmpty(sortBy))
    {
        if (!string.IsNullOrEmpty(sort))
        {
            items = items.AsQueryable().OrderBy($"{sortBy} {sort}");
        }
    }
    List<TEntity> itemsList = items.ToList();
    return itemsList;
}
Aucun commentaire:
Enregistrer un commentaire