public async Task <IEnumerable <Joke> > GetAllJokesByCategoryIdAsync(int categoryId) { using (var uow = _unitOfWorkProvider.CreateUnitOfWork()) { Filter <Joke> filter = new Filter <Joke>(null); filter.AddExpression(c => c.Category.Id == categoryId); var repository = uow.GetRepository <Joke>(); Func <IQueryable <Joke>, IQueryable <Joke> > func = query => { return(query.Include(c => c.Category)); }; return((await repository.QueryAsync(filter.Expression, includes: func)).ToList()); } }