private static async Task <List <object> > ExecuteWithReplacementsAsync(FieldReplacementProcessor <TItem> replacementProcessor, IQueryable dynamicQueryable, ForEachAsyncDelegate <object> forEachAsync) { var dynamicType = dynamicQueryable.ElementType; var returnObjects = new List <object>(); if (dynamicQueryable.IsInMemory()) { await ItemQueryHelper.DefaultForEachAsync(dynamicQueryable, AddObjectToList); } else { await forEachAsync(dynamicQueryable.AsObjects(), AddObjectToList); } void AddObjectToList(object dynamicObj) { if (dynamicObj != null) { replacementProcessor.Replace(dynamicObj, dynamicType); } returnObjects.Add(dynamicObj); } return(returnObjects); }
public Task ForEachAsync <T>(IQueryable <T> query, Action <T> action) { return(ItemQueryHelper.DefaultForEachAsync(query, action)); }