public static IDbLiteQueryable <T, T2, T3, T4, T5, T6, T7> GetQueryable <T, T2, T3, T4, T5, T6, T7>(ConnectionConfig currentConnectionConfig)
        {
            string className = "Queryable";

            className = GetClassName(currentConnectionConfig.DbType.ToString(), className);
            IDbLiteQueryable <T, T2, T3, T4, T5, T6, T7> result = CreateInstance <T, T2, T3, T4, T5, T6, T7, IDbLiteQueryable <T, T2, T3, T4, T5, T6, T7> >(className);

            return(result);
        }
 public static IDbLiteQueryable <T, T2, T3> GetQueryable <T, T2, T3>(ConnectionConfig currentConnectionConfig)
 {
     if (currentConnectionConfig.DbType == DbType.SqlServer)
     {
         return(new SqlServerQueryable <T, T2, T3>());
     }
     else
     {
         string className = "Queryable";
         className = GetClassName(currentConnectionConfig.DbType.ToString(), className);
         IDbLiteQueryable <T, T2, T3> result = CreateInstance <T, T2, T3, IDbLiteQueryable <T, T2, T3> >(className);
         return(result);
     }
 }
        protected void CreateQueryJoin <T>(Expression joinExpression, Type[] types, IDbLiteQueryable <T> queryable)
        {
            this.CreateQueryable <T>(queryable);
            string shortName = string.Empty;
            List <DbLiteParameter> paramters = new List <DbLiteParameter>();

            queryable.SqlBuilder.QueryBuilder.JoinQueryInfos = this.GetJoinInfos(queryable.SqlBuilder, joinExpression, ref paramters, ref shortName, types);
            queryable.SqlBuilder.QueryBuilder.TableShortName = shortName;
            queryable.SqlBuilder.QueryBuilder.JoinExpression = joinExpression;
            if (paramters != null)
            {
                queryable.SqlBuilder.QueryBuilder.Parameters.AddRange(paramters);
            }
        }
        protected IDbLiteQueryable <T> CreateQueryable <T>(IDbLiteQueryable <T> result)
        {
            Check.Exception(typeof(T).IsClass() == false || typeof(T).GetConstructors().Length == 0, "Queryable<{0}> Error ,{0} is invalid , need is a class,and can new().", typeof(T).Name);
            var sqlBuilder = InstanceFactory.GetSqlbuilder(CurrentConnectionConfig);

            result.Context    = this.Context;
            result.SqlBuilder = sqlBuilder;
            result.SqlBuilder.QueryBuilder         = InstanceFactory.GetQueryBuilder(CurrentConnectionConfig);
            result.SqlBuilder.QueryBuilder.Builder = sqlBuilder;
            result.SqlBuilder.Context = result.SqlBuilder.QueryBuilder.Context = this;
            result.SqlBuilder.QueryBuilder.EntityType        = typeof(T);
            result.SqlBuilder.QueryBuilder.EntityName        = typeof(T).Name;
            result.SqlBuilder.QueryBuilder.LambdaExpressions = InstanceFactory.GetLambdaExpressions(CurrentConnectionConfig);
            return(result);
        }
Exemple #5
0
 public IDbLiteQueryable <T> Queryable <T>(IDbLiteQueryable <T> queryable) where T : class, new()
 {
     return(this.Context.Queryable <T>(queryable));
 }
Exemple #6
0
 public IDbLiteQueryable <T, T2> Queryable <T, T2>(IDbLiteQueryable <T> joinQueryable1, IDbLiteQueryable <T2> joinQueryable2, JoinType joinType, Expression <Func <T, T2, bool> > joinExpression)
     where T : class, new()
     where T2 : class, new()
 {
     return(this.Context.Queryable(joinQueryable1, joinQueryable2, joinType, joinExpression));
 }
        protected void CreateEasyQueryJoin <T>(Expression joinExpression, Type[] types, IDbLiteQueryable <T> queryable)
        {
            this.CreateQueryable <T>(queryable);
            string shortName = string.Empty;

            queryable.SqlBuilder.QueryBuilder.EasyJoinInfos  = this.GetEasyJoinInfo(joinExpression, ref shortName, queryable.SqlBuilder, types);
            queryable.SqlBuilder.QueryBuilder.TableShortName = shortName;
            queryable.SqlBuilder.QueryBuilder.JoinExpression = joinExpression;
        }
        protected IDbLiteQueryable <T> CreateQueryable <T>()
        {
            IDbLiteQueryable <T> result = InstanceFactory.GetQueryable <T>(this.CurrentConnectionConfig);

            return(CreateQueryable(result));
        }