我不熟悉传递函数的概念. 我如何调用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调用.