/// <summary>
        /// 联表查询分页
        /// </summary>
        /// <param name="doubleTable"></param>
        /// <returns></returns>
        public async Task <List <TEntity> > LeagueQueryPage(DoubleTable doubleTable)
        {
            string relation = $"s1.{doubleTable.ForeignKey} = s2.{doubleTable.RightKey}";

            return(await Task.Run(() => Db.Queryable(doubleTable.LeftSurface, "s1")
                                  .AddJoinInfo(doubleTable.RightSurface, "s2", relation)
                                  .Select <TEntity>(MonogramHelper.GetQueryField(doubleTable.QueryField))
                                  .OrderByIF(!string.IsNullOrEmpty(doubleTable.OrderByFileds), doubleTable.OrderByFileds)
                                  .ToPageList(doubleTable.IntPageIndex, doubleTable.IntPageSize)
                                  ));
        }
        /// <summary>
        /// 联表查询
        /// 三表查询
        /// </summary>
        /// <param name="leagueTables"></param>
        /// <returns></returns>
        public async Task <List <TEntity> > LeagueTables(LeagueTables leagueTables)
        {
            string relation  = $"s1.{leagueTables.ForeignKey} = s2.{leagueTables.RightKey}";
            string relation2 = $"s2.{leagueTables.RightKey} = s3.{leagueTables.ThreeKey}";

            return(await Task.Run(() => Db.Queryable(leagueTables.LeftTable, "s1")
                                  .AddJoinInfo(leagueTables.RightTable, "s2", relation)
                                  .AddJoinInfo(leagueTables.ThreeTable, "s3", relation2)
                                  .Select <TEntity>(MonogramHelper.GetQueryField(leagueTables.QueryField))
                                  .ToPageList(leagueTables.IntPageIndex, leagueTables.IntPageSize)));
        }
        public async Task <List <TOutput> > LeagueQueryAll <TOutput>(Expression <Func <TOutput, bool> > whereExp, DoubleTable doubleTable)
        {
            string relation = $"s1.{doubleTable.ForeignKey} = s2.{doubleTable.RightKey}";

            return(await Task.Run(() => Db.Queryable(doubleTable.LeftSurface, "s1")
                                  .AddJoinInfo(doubleTable.RightSurface, "s2", relation)
                                  .Select <TOutput>(MonogramHelper.GetQueryField(doubleTable.QueryField))
                                  .WhereIF(whereExp != null, whereExp)
                                  .OrderByIF(!string.IsNullOrEmpty(doubleTable.OrderByFileds), doubleTable.OrderByFileds)
                                  .ToList()
                                  ));
        }