我需要一個像這樣的方法,我可以在給定的實體上應用Where(x =>x. ...)
和Include(x => x.RelatedEntity)
和OrderBy(x=>x. ...)
。 事情是這樣的:使用lambda表達式在實體框架的實體上動態應用過濾器
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();
}
}
,我需要通過我需要的東西被過濾/列爲lambda表達式。
注意: 我搜索了很多關於如何做到這一點,但我真的無法找到任何東西。我不熟悉C#/ entity-framework的這部分,我甚至不知道要搜索什麼關鍵字。
謝謝你的幫助
一些,這是正確的,表達式,在例如使用過濾器,然而,orderby必須使用別的東西才能工作。該類型需要爲'Func,IOrderedQueryable > orderby'並且使用需要爲'query = orderby(query)'。 –