public IEnumerable <TModel> ReadAll <TModel>(BlogClient client, Func <TModel, bool> func, ReadModeEnum mode = ReadModeEnum.Valid) where TModel : BaseDocumentModel { return(client.GetCollection <TModel>().BaseQueryAsParallel(mode).Where(func)); }
public static ParallelQuery <TDocument> BaseQueryAsParallel <TDocument>(this IMongoCollection <TDocument> collection, ReadModeEnum mode) where TDocument : BaseDocumentModel { Func <TDocument, bool> func = (s) => { if (mode == ReadModeEnum.Valid) { return(!s.IsInvalid); } if (mode == ReadModeEnum.Invalid) { return(s.IsInvalid); } return(s.IsInvalid || !s.IsInvalid); }; return(collection.AsQueryable().Where(func).AsParallel()); }
public async Task <List <TModel> > ReadAllAsync <TModel>(BlogClient client, ReadModeEnum mode = ReadModeEnum.Valid) where TModel : BaseDocumentModel { return(await Task.Run(() => client.GetCollection <TModel>().BaseQueryAsParallel(mode).ToList())); }