-2

如果 filter.Operator 等于“覆盖”,我需要返回空过滤器(非过滤器)。这该怎么做?

Func<IQueryable<T>, KendoFilterDescription, IQueryable<T>> appendFilter =
    (filteredData, filter) =>
    {
        if (filter.Operator == "override")
        {
            return filteredData;
        }
        return filteredData.Where(ConvertToWhereStatement(filter), 
                                    ParsePropertyValue<T>(filter));
    };
4

1 回答 1

2

当您谈论空过滤器时,我知道您需要返回一个IQueryable<T>不包含数据的值。

如果是这样,您可以使用辅助方法来获取空集合IEnumerable<T>

private IEnumerable<T> GetEmptyIEnumerableCollectionHelper()
{
    yield break;
}

这个帮助方法允许你填充一个空集合。然后,使用AsQueryable()方法获得一个IQueryable<T>.

return this.GetEmptyIEnumerableCollectionHelper().AsQueryable();
于 2013-07-10T12:07:01.767 回答