예제 #1
0
        public List <ELMAH_Error> GetElmahErrorLog(ELMAH_Error_SearchModel search)
        {
            Expression <Func <ELMAH_Error, bool> > expr = this.BuildSearchCriteria(search);
            IQueryable <ELMAH_Error> resultQuery        = context.ELMAH_Error.Where(expr).SortWith(search.SortBy, search.SortDirection);

            search.RecordCount = resultQuery.Count();
            resultQuery        = resultQuery.Skip(search.PageSkip).Take(search.PageSize);
            //Message = MessageModel.LoadSuccess();
            //return this.ConvertToViewModelList(resultQuery);
            return(resultQuery.ToList()); //真正执行query的脚本,IQueryable是延时执行
        }
예제 #2
0
        private Expression <Func <ELMAH_Error, bool> > BuildSearchCriteria(ELMAH_Error_SearchModel search)
        {
            Expression <Func <ELMAH_Error, bool> > expr  = null;
            DynamicLambda <ELMAH_Error>            bulid = new DynamicLambda <ELMAH_Error>();

            //if (!string.IsNullOrEmpty(search.StatusCode))
            if (search.StatusCode > 0)
            {
                Expression <Func <ELMAH_Error, bool> > temp = s => (s.StatusCode == search.StatusCode);
                expr = bulid.BuildQueryAnd(expr, temp);
            }
            Expression <Func <ELMAH_Error, bool> > solidFilter = s => (s.Sequence > 0);

            expr = bulid.BuildQueryAnd(expr, solidFilter);
            return(expr);
        }