Пример #1
0
 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));
 }
Пример #2
0
        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());
        }
Пример #3
0
 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()));
 }