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