示例#1
0
        public IQueryable <TEntity> QueryableQuery(QueryDelegate query = null, LoadOptionsDelegate options = null, TDataContext dataContext = null)
        {
            FailIf(dataContext == null, "Parameter (dataContext) cannot be null");
            var queryable = Queryable(options, dataContext);

            return(query != null?query(queryable) : queryable);
        }
示例#2
0
        //Queryable

        public IQueryable <TEntity> Queryable(LoadOptionsDelegate options = null, TDataContext dataContext = null)
        {
            FailIf(dataContext == null, "Parameter (dataContext) cannot be null");
            var queryable = dataContext.GetTable <TEntity>().AsQueryable();

            if (options != null)
            {
                dataContext.LoadOptions = options(new LoadOptions()).Options;
            }
            return(queryable);
        }
示例#3
0
 public List <TEntity> ListWhere(Expression <Func <TEntity, bool> > where = null, LoadOptionsDelegate options = null, TDataContext dataContext = null) => DataContextScope(false, dataContext, dc => QueryableWhere(where, options, dc).ToList());
示例#4
0
 public List <TEntity> ListQuery(QueryDelegate query = null, LoadOptionsDelegate options = null, TDataContext dataContext = null) => DataContextScope(false, dataContext, dc => QueryableQuery(query, options, dc).ToList());
示例#5
0
 public TEntity[] ArrayQuery(QueryDelegate query = null, LoadOptionsDelegate options = null, TDataContext dataContext = null) => DataContextScope(false, dataContext, dc => QueryableQuery(query, options, dc).ToArray());
示例#6
0
 public long CountQuery(QueryDelegate query = null, LoadOptionsDelegate options = null, TDataContext dataContext = null) => DataContextScope(false, dataContext, dc => QueryableQuery(query, options, dc).LongCount());
示例#7
0
 public bool AnyQuery(QueryDelegate query = null, LoadOptionsDelegate options = null, TDataContext dataContext = null) => DataContextScope(false, dataContext, dc => QueryableQuery(query, options, dc).Any());
示例#8
0
 public TEntity LastOrDefaultWhere(Expression <Func <TEntity, bool> > where = null, LoadOptionsDelegate options = null, TDataContext dataContext = null) => DataContextScope(false, dataContext, dc => QueryableWhere(where, options, dc).LastOrDefault());
示例#9
0
 public TEntity LastOrDefaultQuery(QueryDelegate query = null, LoadOptionsDelegate options = null, TDataContext dataContext = null) => DataContextScope(false, dataContext, dc => QueryableQuery(query, options, dc).LastOrDefault());
示例#10
0
        //FirstOrDefault

        public TEntity FirstOrDefault(LoadOptionsDelegate options = null, TDataContext dataContext = null) => DataContextScope(false, dataContext, dc => Queryable(options, dc).FirstOrDefault());
示例#11
0
 public ResultSet <TEntity> ResultSetWhere(Expression <Func <TEntity, bool> > where = null, LoadOptionsDelegate options = null, int?pageSize = null, int?pageIndex = null, TDataContext dataContext = null) => DataContextScope(false, dataContext, dc => new ResultSet <TEntity>(QueryableWhere(where, options, dc), pageSize, pageIndex));
示例#12
0
 public ResultSet <TEntity> ResultSetQuery(QueryDelegate query = null, LoadOptionsDelegate options = null, int?pageSize = null, int?pageIndex = null, TDataContext dataContext = null) => DataContextScope(false, dataContext, dc => new ResultSet <TEntity>(QueryableQuery(query, options, dc), pageSize, pageIndex));
示例#13
0
        public IQueryable <TEntity> QueryableWhere(Expression <Func <TEntity, bool> > where = null, LoadOptionsDelegate options = null, TDataContext dataContext = null)
        {
            FailIf(dataContext == null, "Parameter (dataContext) cannot be null");
            var queryable = Queryable(options, dataContext);

            return(where != null?queryable.Where(where) : queryable);
        }