Voglio solo creare un filtro dinamico. E infine per tornareCome convertire IQueryable <T> in Expression <Func <T, bool>>?
Expression<Func<Event, bool>>
Ho cercato di utilizzare i combinare espressioni (AndAlso), ma non è stato workin e alla fine ho scoperto che ci sono query IQueryable che funziona bene, ma ora come posso convertire al tipo di ritorno -
Expression<Func<Event, bool>>?
il mio codice:
public IQueryable<Event> GetBySearch(EventFilter search)
{
IQueryable<Event> query = this.Context.Events.AsQueryable();
Expression<Func<Event, bool>> expression = null;
if (search.CategoryId != 0)
{
query = query.Where(x => x.CategoryId == search.CategoryId);
}
if (search.SubCategoryId != 0)
{
query = query.Where(x => x.SubCategoryId == search.SubCategoryId);
}
expression = query.Expression as Expression<Func<Event, bool>>; //This convert is not working, it returns null.
return this.Context.Events.Where(expression);
}
Date un'occhiata al aggiornato rispondi (penso che tu l'abbia già accettato e non sei sicuro che continui a ricevere notifiche in quel caso) che tenga conto del commento di Florian. – Sam