如果filter.Operator等于'override',我需要返回空过滤器(非过滤器)。 怎么做?
Func<IQueryable<T>, KendoFilterDescription, IQueryable<T>> appendFilter =
(filteredData, filter) =>
{
if (filter.Operator == "override")
{
return filteredData;
}
return filteredData.Where(ConvertToWhereStatement(filter),
ParsePropertyValue<T>(filter));
};
答案 0 :(得分:2)
当您谈到空过滤器时,我知道您需要返回一个不包含数据的IQueryable<T>
值。
如果是这样,您可以使用辅助方法获取空的IEnumerable<T>
集合。
private IEnumerable<T> GetEmptyIEnumerableCollectionHelper()
{
yield break;
}
此辅助方法允许您填充空集合。然后,使用AsQueryable()
方法获取IQueryable<T>
。
return this.GetEmptyIEnumerableCollectionHelper().AsQueryable();