C# 谓词返回所有项
我不熟悉传递函数的概念。 我如何调用GetItemsAsync()并在没有任何条件的情况下返回所有内容C# 谓词返回所有项,c#,C#,我不熟悉传递函数的概念。 我如何调用GetItemsAsync()并在没有任何条件的情况下返回所有内容 var items = await Respository.GetItemsAsync(d => !d.Completed); public async Task<IEnumerable<T>> GetItemsAsync(Expression<Func<T, bool>> predicate) { IDo
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;
}
var items=await Respository.GetItemsAsync(d=>!d.Completed);
公共异步任务GetItemsAsync(表达式谓词)
{
IDocumentQuery=client.CreateDocumentQuery(
CreateDocumentCollectionUri(数据库ID,CollectionId),
新的FeedOptions{MaxItemCount=-1})
.Where(谓词)
.AsDocumentQuery();
列表结果=新列表();
while(query.HasMoreResults)
{
AddRange(wait query.ExecuteNextAsync());
}
返回结果;
}
只需传入一个始终为true的谓词,例如x=>true
这取决于您使用的LINQ提供程序,当然,这意味着您需要所有东西。另一种选择是使用此方法的另一个重载,它根本不使用Where
调用