/// <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() )); }