当前位置 : 主页 > 编程语言 > c语言 >

c# – 谓词返回所有项目

来源:互联网 收集:自由互联 发布时间:2021-06-25
我不熟悉传递函数的概念. 我如何调用GetItemsAsync()并在没有任何条件的情况下返回所有内容? var items = await Respository.GetItemsAsync(d = !d.Completed); public async TaskIEnumerableT GetItemsAsync(Expression
我不熟悉传递函数的概念.
我如何调用GetItemsAsync()并在没有任何条件的情况下返回所有内容?

var items = await Respository.GetItemsAsync(d => !d.Completed);

    public async Task<IEnumerable<T>> GetItemsAsync(Expression<Func<T, bool>> predicate)
    {
        IDocumentQuery<T> query = client.CreateDocumentQuery<T>(
            UriFactory.CreateDocumentCollectionUri(DatabaseId, CollectionId),
            new FeedOptions { MaxItemCount = -1 })
            .Where(predicate)
            .AsDocumentQuery();

        List<T> results = new List<T>();
        while (query.HasMoreResults)
        {
            results.AddRange(await query.ExecuteNextAsync<T>());
        }

        return results;
    }
只需传入一个始终为真的谓词,例如x =>真正.

这依赖于您正在使用的LINQ提供程序,这意味着您需要一切,当然.另一种替代方法是使该方法的另一个重载完全不使用Where调用.

网友评论