Мне нужно иметь такой метод, где я могу применять Where(x =>x. ...)
и Include(x => x.RelatedEntity)
и OrderBy(x=>x. ...)
на данном объекте. Что-то вроде этого:Динамически применять фильтры для сущности фреймворка сущности, используя выражение лямбда
public List<TEntity> ApplyFilter<TEntity>(TEntity entity,
List<filters> filters /* List of filters: 'filters' */)
where TEntity : BaseEntity
{
using (var db = new MyDbContext()){
var query = db.Set<TEntity>().AsQuaryable;
//apply filters to 'query'
query.include(/*multiple related entities*/);
query.applyfilters(/*filters*/);
return query.ToList();
}
}
И мне нужно, чтобы передать то, что мне нужно быть отфильтрованы/включены как лямбда-выражения.
ПРИМЕЧАНИЕ: Я много искал, как я могу это сделать, но я действительно ничего не смог найти. Я новичок в этой части C#/entity-framework, и я действительно даже не знал, какие ключевые слова искать.
Благодарим за помощь
Некоторые это точные выражения, используя фильтр, где, например, однако orderby должен использовать что-то еще для работы. Тип должен быть 'Func, IOrderedQueryable > orderby', а использование должно быть' query = orderby (query) '. –