using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Text; using System.Threading.Tasks; namespace SqlSugar { public partial class QueryableProvider : QueryableAccessory, ISugarQueryable { private void _Includes(SqlSugarProvider context, params Expression[] expressions) { Func,List> SelectR1 = it => it.Select().ToList().Select(x=>x as object).ToList(); var navigat = new NavigatManager(); navigat.SelectR1 = SelectR1; navigat.Expressions = expressions; navigat.Context = this.Context; navigat.IsCrossQueryWithAttr = this.QueryBuilder.IsCrossQueryWithAttr; navigat.CrossQueryItems = this.QueryBuilder.CrossQueryItems; if (this.QueryBuilder.Includes == null) this.QueryBuilder.Includes = new List(); this.QueryBuilder.Includes.Add(navigat); } private void _Includes(SqlSugarProvider context, params Expression[] expressions) { Func, List> SelectR1 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR2 = it => it.Select().ToList().Select(x => x as object).ToList(); var navigat = new NavigatManager(); navigat.SelectR1 = SelectR1; navigat.SelectR2 = SelectR2; navigat.IsCrossQueryWithAttr = this.QueryBuilder.IsCrossQueryWithAttr; navigat.CrossQueryItems = this.QueryBuilder.CrossQueryItems; navigat.Expressions = expressions; navigat.Context = this.Context; if (this.QueryBuilder.Includes == null) this.QueryBuilder.Includes = new List(); this.QueryBuilder.Includes.Add(navigat); } private void _Includes(SqlSugarProvider context, params Expression[] expressions) { Func, List> SelectR1 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR2 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR3 = it => it.Select().ToList().Select(x => x as object).ToList(); var navigat = new NavigatManager(); navigat.SelectR1 = SelectR1; navigat.SelectR2 = SelectR2; navigat.SelectR3 = SelectR3; navigat.IsCrossQueryWithAttr = this.QueryBuilder.IsCrossQueryWithAttr; navigat.CrossQueryItems = this.QueryBuilder.CrossQueryItems; navigat.Expressions = expressions; navigat.Context = this.Context; if (this.QueryBuilder.Includes == null) this.QueryBuilder.Includes = new List(); this.QueryBuilder.Includes.Add(navigat); } public NavISugarQueryable AsNavQueryable() { return GetNavSugarQueryable(); } private NavISugarQueryable GetNavSugarQueryable() { var result= new NavQueryableProvider(); result.Context = this.Context; var clone = this.Clone(); result.SqlBuilder = clone.SqlBuilder; result.QueryBuilder = clone.QueryBuilder; return result; } } public partial class NavQueryableProvider : QueryableProvider, NavISugarQueryable { private void _Includes(SqlSugarProvider context, params Expression[] expressions) { Func, List> SelectR1 = it => it.Select().ToList().Select(x => x as object).ToList(); var navigat = new NavigatManager(); navigat.SelectR1 = SelectR1; navigat.Expressions = expressions; navigat.Context = this.Context; navigat.IsCrossQueryWithAttr = this.QueryBuilder.IsCrossQueryWithAttr; navigat.CrossQueryItems = this.QueryBuilder.CrossQueryItems; if (this.QueryBuilder.Includes == null) this.QueryBuilder.Includes = new List(); this.QueryBuilder.Includes.Add(navigat); } private void _Includes(SqlSugarProvider context, params Expression[] expressions) { Func, List> SelectR1 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR2 = it => it.Select().ToList().Select(x => x as object).ToList(); var navigat = new NavigatManager(); navigat.SelectR1 = SelectR1; navigat.SelectR2 = SelectR2; navigat.Expressions = expressions; navigat.IsCrossQueryWithAttr = this.QueryBuilder.IsCrossQueryWithAttr; navigat.CrossQueryItems = this.QueryBuilder.CrossQueryItems; navigat.Context = this.Context; if (this.QueryBuilder.Includes == null) this.QueryBuilder.Includes = new List(); this.QueryBuilder.Includes.Add(navigat); } private void _Includes(SqlSugarProvider context, params Expression[] expressions) { Func, List> SelectR1 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR2 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR3 = it => it.Select().ToList().Select(x => x as object).ToList(); var navigat = new NavigatManager(); navigat.SelectR1 = SelectR1; navigat.SelectR2 = SelectR2; navigat.SelectR3 = SelectR3; navigat.Expressions = expressions; navigat.IsCrossQueryWithAttr = this.QueryBuilder.IsCrossQueryWithAttr; navigat.CrossQueryItems = this.QueryBuilder.CrossQueryItems; navigat.Context = this.Context; if (this.QueryBuilder.Includes == null) this.QueryBuilder.Includes = new List(); this.QueryBuilder.Includes.Add(navigat); } private void _Includes(SqlSugarProvider context, params Expression[] expressions) { Func, List> SelectR1 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR2 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR3 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR4 = it => it.Select().ToList().Select(x => x as object).ToList(); var navigat = new NavigatManager(); navigat.SelectR1 = SelectR1; navigat.SelectR2 = SelectR2; navigat.SelectR3 = SelectR3; navigat.SelectR4 = SelectR4; navigat.Expressions = expressions; navigat.IsCrossQueryWithAttr = this.QueryBuilder.IsCrossQueryWithAttr; navigat.CrossQueryItems = this.QueryBuilder.CrossQueryItems; navigat.Context = this.Context; if (this.QueryBuilder.Includes == null) this.QueryBuilder.Includes = new List(); this.QueryBuilder.Includes.Add(navigat); } private void _Includes(SqlSugarProvider context, params Expression[] expressions) { Func, List> SelectR1 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR2 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR3 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR4 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR5 = it => it.Select().ToList().Select(x => x as object).ToList(); var navigat = new NavigatManager(); navigat.SelectR1 = SelectR1; navigat.SelectR2 = SelectR2; navigat.SelectR3 = SelectR3; navigat.SelectR4 = SelectR4; navigat.SelectR5 = SelectR5; navigat.Expressions = expressions; navigat.IsCrossQueryWithAttr = this.QueryBuilder.IsCrossQueryWithAttr; navigat.CrossQueryItems = this.QueryBuilder.CrossQueryItems; navigat.Context = this.Context; if (this.QueryBuilder.Includes == null) this.QueryBuilder.Includes = new List(); this.QueryBuilder.Includes.Add(navigat); } private void _Includes(SqlSugarProvider context, params Expression[] expressions) { Func, List> SelectR1 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR2 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR3 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR4 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR5 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR6 = it => it.Select().ToList().Select(x => x as object).ToList(); var navigat = new NavigatManager(); navigat.SelectR1 = SelectR1; navigat.SelectR2 = SelectR2; navigat.SelectR3 = SelectR3; navigat.SelectR4 = SelectR4; navigat.SelectR5 = SelectR5; navigat.SelectR6 = SelectR6; navigat.Expressions = expressions; navigat.IsCrossQueryWithAttr = this.QueryBuilder.IsCrossQueryWithAttr; navigat.CrossQueryItems = this.QueryBuilder.CrossQueryItems; navigat.Context = this.Context; if (this.QueryBuilder.Includes == null) this.QueryBuilder.Includes = new List(); this.QueryBuilder.Includes.Add(navigat); } private void _Includes(SqlSugarProvider context, params Expression[] expressions) { Func, List> SelectR1 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR2 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR3 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR4 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR5 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR6 = it => it.Select().ToList().Select(x => x as object).ToList(); Func, List> SelectR7 = it => it.Select().ToList().Select(x => x as object).ToList(); var navigat = new NavigatManager(); navigat.SelectR1 = SelectR1; navigat.SelectR2 = SelectR2; navigat.SelectR3 = SelectR3; navigat.SelectR4 = SelectR4; navigat.SelectR5 = SelectR5; navigat.SelectR6 = SelectR6; navigat.SelectR7 = SelectR7; navigat.Expressions = expressions; navigat.IsCrossQueryWithAttr = this.QueryBuilder.IsCrossQueryWithAttr; navigat.CrossQueryItems = this.QueryBuilder.CrossQueryItems; navigat.Context = this.Context; if (this.QueryBuilder.Includes == null) this.QueryBuilder.Includes = new List(); this.QueryBuilder.Includes.Add(navigat); } } }