From 40f93b2109cc7acffa49db9c40302f932e16273e Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Sun, 9 Apr 2017 14:39:08 +0800 Subject: [PATCH] - --- OrmTest/Models/Student.cs | 5 +- OrmTest/UnitTest/Query/SelectQuery.cs | 32 ++++----- SqlSugar/Abstract/DbProvider/DbProvider.cs | 5 +- .../QueryableProvider/QueryableProvider.cs | 18 +++-- .../DMLBuilder/LambadaQueryBuilder.cs | 1 + SqlSugar/Common/RewritableMethods.cs | 72 +++++++++++++++++++ SqlSugar/Common/SqlException.cs | 20 +++--- SqlSugar/Entities/Mapping/IgnoreComumn.cs | 14 ++++ SqlSugar/Entities/SugarList.cs | 8 +++ .../ExpressionsToSql/ExpressionContext.cs | 1 + .../MemberInitExpressionResolve.cs | 6 ++ .../ResolveItems/NewExpressionResolve.cs | 5 ++ SqlSugar/Interface/ILambdaExpressions.cs | 7 +- SqlSugar/Interface/IRewritableMethods.cs | 29 ++++++++ SqlSugar/SqlSugar.csproj | 3 + SqlSugar/SqlSugarAccessory.cs | 2 + SqlSugar/SqlSugarClient.cs | 47 ++++++++---- 17 files changed, 219 insertions(+), 56 deletions(-) create mode 100644 SqlSugar/Common/RewritableMethods.cs create mode 100644 SqlSugar/Entities/Mapping/IgnoreComumn.cs create mode 100644 SqlSugar/Interface/IRewritableMethods.cs diff --git a/OrmTest/Models/Student.cs b/OrmTest/Models/Student.cs index da897bf80..2ead57632 100644 --- a/OrmTest/Models/Student.cs +++ b/OrmTest/Models/Student.cs @@ -14,12 +14,9 @@ namespace OrmTest.Models [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnName = "ID")] public int Id { get; set; } public string Name { get; set; } - [SugarColumn(IsIgnore = true)] public int SchoolId { get; set; } public DateTime CreateTime { get; set; } - - [SugarColumn(MappingKeys = "id,SchoolId")] - public virtual School School { get; set; } + [SugarColumn(IsIgnore=true)] public int TestId { get; set; } } } diff --git a/OrmTest/UnitTest/Query/SelectQuery.cs b/OrmTest/UnitTest/Query/SelectQuery.cs index f0d711f62..d5ccbf3d5 100644 --- a/OrmTest/UnitTest/Query/SelectQuery.cs +++ b/OrmTest/UnitTest/Query/SelectQuery.cs @@ -35,29 +35,26 @@ namespace OrmTest.UnitTest Console.WriteLine(sql + " " + pars); }; + + #region dr ot entity + db.IgnoreComumns.Add("TestId", "Student"); + var dr2 = db.Queryable().Select(it => new { newid = it.Id, obj = it }).ToList(); + var dr1 = db.Queryable().Select(it => new { newid = it.Id }).ToList(); + var x=db.RewritableMethods.SerializeObject(new { newid = 1, obj = new School() { Id = 1 } }); + #endregion + + + #region sql and parameters validate var l1 = db.Queryable((st, st2) => new object[] { JoinType.Left,st.Id==st2.Id }) - .Where(st => st.Id > 0) - .Select((st, st2) => new {stid = st.Id, scId = st2.Id,xx=st }).ToSql(); + .Where(st => st.Id > 0) + .Select((st, st2) => new { stid = st.Id, scId = st2.Id, xx = st }).ToSql(); base.Check("SELECT [st].[Id] AS [stid] , [st2].[Id] AS [scId] , [st].[Id] AS [xx_Id] , [st].[Name] AS [xx_Name] FROM [School] st Left JOIN School st2 ON ( [st].[Id] = [st2].[Id] ) WHERE ( [st].[Id] > @Id0 )" , new List() { new SugarParameter("@Id0",0) - },l1.Key,l1.Value, "l1错误"); - - var l2 = db.Queryable((st, st2) => new object[] { - JoinType.Left,st.Id==st2.Id - }).Where((st, st2) => st2.Id > 2) - .Select(st => new ViewModelStudent { School = st }).ToSql(); - - base.Check("SELECT [st].[Id] AS [School_Id] , [st].[Name] AS [School_Name] FROM [School] st Left JOIN School st2 ON ( [st].[Id] = [st2].[Id] ) WHERE ( [st2].[Id] > @Id0 )", - new List() { new SugarParameter("@Id0", 2) }, - l2.Key, - l2.Value, - "l2报错" - ); - + }, l1.Key, l1.Value, "l1错误"); var list2 = db.Queryable() .Where(st => st.Id > 0) @@ -81,6 +78,9 @@ namespace OrmTest.UnitTest .Where("st.id>@id") .AddParameters(new { id = 1 }) .Select("st.*").ToList(); + #endregion + + } } diff --git a/SqlSugar/Abstract/DbProvider/DbProvider.cs b/SqlSugar/Abstract/DbProvider/DbProvider.cs index 0618e76c2..262648d25 100644 --- a/SqlSugar/Abstract/DbProvider/DbProvider.cs +++ b/SqlSugar/Abstract/DbProvider/DbProvider.cs @@ -1,5 +1,4 @@ -using Newtonsoft.Json; -using System; +using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; @@ -282,7 +281,7 @@ namespace SqlSugar } else { - action(sql, JsonConvert.SerializeObject(pars.Select(it => new { key = it.ParameterName, value = it.Value.ObjToString() }))); + action(sql,this.Context.RewritableMethods.SerializeObject(pars.Select(it => new { key = it.ParameterName, value = it.Value.ObjToString() }))); } } } diff --git a/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs b/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs index 16067a44f..8f08bad9d 100644 --- a/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs +++ b/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs @@ -351,8 +351,16 @@ namespace SqlSugar var sqlObj =this.ToSql(); using (var dataReader = this.Db.GetDataReader(sqlObj.Key, sqlObj.Value.ToArray())) { - var reval = this.Bind.DataReaderToList(typeof(T), dataReader, SqlBuilder.LambadaQueryBuilder.SelectCacheKey); - return reval; + var tType = typeof(T); + if (tType.IsAnonymousType()) + { + return this.Context.RewritableMethods.DataReaderToDynamicList(dataReader); + } + else + { + var reval = this.Bind.DataReaderToList(tType, dataReader, SqlBuilder.LambadaQueryBuilder.SelectCacheKey); + return reval; + } } } public string ToJson() @@ -410,14 +418,14 @@ namespace SqlSugar type = ResolveExpressType.WhereMultiple; } ILambdaExpressions resolveExpress = this.SqlBuilder.LambadaQueryBuilder.LambdaExpressions; + resolveExpress.IgnoreComumnList = this.Context.IgnoreComumns; + resolveExpress.MappingColumns = this.Context.MappingColumns; + resolveExpress.MappingColumns = this.Context.MappingColumns; resolveExpress.Resolve(expression, type); BasePars.AddRange(resolveExpress.Parameters); SqlBuilder.LambadaQueryBuilder.WhereInfos.Add(SqlBuilder.AppendWhereOrAnd(SqlBuilder.LambadaQueryBuilder.WhereInfos.IsNullOrEmpty(), resolveExpress.Result.GetResultString())); resolveExpress.Clear(); } - #endregion - - } } diff --git a/SqlSugar/Abstract/SqlBuilderProvider/DMLBuilder/LambadaQueryBuilder.cs b/SqlSugar/Abstract/SqlBuilderProvider/DMLBuilder/LambadaQueryBuilder.cs index ad9b803a9..8621ea8a1 100644 --- a/SqlSugar/Abstract/SqlBuilderProvider/DMLBuilder/LambadaQueryBuilder.cs +++ b/SqlSugar/Abstract/SqlBuilderProvider/DMLBuilder/LambadaQueryBuilder.cs @@ -86,6 +86,7 @@ namespace SqlSugar resolveExpress.JoinQueryInfos = Builder.LambadaQueryBuilder.JoinQueryInfos; resolveExpress.MappingColumns = Context.MappingColumns; resolveExpress.MappingTables = Context.MappingTables; + resolveExpress.IgnoreComumnList = Context.IgnoreComumns; resolveExpress.Resolve(expression, ResolveType); this.QueryPars.AddRange(resolveExpress.Parameters); var reval= resolveExpress.Result.GetResultString(); diff --git a/SqlSugar/Common/RewritableMethods.cs b/SqlSugar/Common/RewritableMethods.cs new file mode 100644 index 000000000..a82102890 --- /dev/null +++ b/SqlSugar/Common/RewritableMethods.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Dynamic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Newtonsoft.Json; +namespace SqlSugar +{ + public class RewritableMethods : IRewritableMethods + { + + /// + ///DataReader to Dynamic + /// + /// + /// + public ExpandoObject DataReaderToExpandoObject(IDataReader reader) + { + ExpandoObject d = new ExpandoObject(); + for (int i = 0; i < reader.FieldCount; i++) + { + try + { + ((IDictionary)d).Add(reader.GetName(i), reader.GetValue(i)); + } + catch + { + ((IDictionary)d).Add(reader.GetName(i), null); + } + } + return d; + } + + public List DataReaderToDynamicList(IDataReader reader) + { + var list = new List(); + if (reader != null && !reader.IsClosed) + { + while (reader.Read()) + { + var expandoObject = DataReaderToExpandoObject(reader); + var stringValue = SerializeObject(expandoObject); + list.Add((T)DeserializeObject(stringValue)); + } + reader.Close(); + } + return list; + } + + /// + /// Serialize Object + /// + /// + /// + public string SerializeObject(object value) + { + return JsonConvert.SerializeObject(value); + } + + /// + /// Serialize Object + /// + /// + /// + public T DeserializeObject(string value) + { + return JsonConvert.DeserializeObject(value); + } + } +} diff --git a/SqlSugar/Common/SqlException.cs b/SqlSugar/Common/SqlException.cs index f72c5ae1f..718da2a74 100644 --- a/SqlSugar/Common/SqlException.cs +++ b/SqlSugar/Common/SqlException.cs @@ -10,32 +10,32 @@ namespace SqlSugar public SqlSugarException(string message) : base(message){} - public SqlSugarException(string message, string sql) - : base(GetMessage(message, sql)) {} + public SqlSugarException(SqlSugarClient context,string message, string sql) + : base(GetMessage(context, message, sql)) {} - public SqlSugarException(string message, string sql, object pars) - : base(GetMessage(message, sql, pars)){} + public SqlSugarException(SqlSugarClient context, string message, string sql, object pars) + : base(GetMessage(context,message, sql, pars)){} - public SqlSugarException(string message, object pars) - : base(GetMessage(message, pars)){} + public SqlSugarException(SqlSugarClient context, string message, object pars) + : base(GetMessage(context,message, pars)){} - private static string GetMessage(string message, object pars) + private static string GetMessage(SqlSugarClient context, string message, object pars) { var parsStr = string.Empty; ; if (pars != null) { - parsStr = JsonConvert.SerializeObject(pars); + parsStr = context.RewritableMethods.SerializeObject(pars); } var reval = GetLineMessage("message", message) + GetLineMessage("function", parsStr); return reval; } - private static string GetMessage(string message, string sql, object pars) + private static string GetMessage(SqlSugarClient context, string message, string sql, object pars) { if (pars == null) { - return GetMessage(message, sql); + return GetMessage(context,message, sql); } else { diff --git a/SqlSugar/Entities/Mapping/IgnoreComumn.cs b/SqlSugar/Entities/Mapping/IgnoreComumn.cs new file mode 100644 index 000000000..17501b15d --- /dev/null +++ b/SqlSugar/Entities/Mapping/IgnoreComumn.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SqlSugar +{ + public class IgnoreComumn + { + public string EntityName { get; set; } + public string EntityPropertyName { get; set; } + } +} diff --git a/SqlSugar/Entities/SugarList.cs b/SqlSugar/Entities/SugarList.cs index 9140507b8..1ae469a7c 100644 --- a/SqlSugar/Entities/SugarList.cs +++ b/SqlSugar/Entities/SugarList.cs @@ -19,6 +19,14 @@ namespace SqlSugar } } + public class IgnoreComumnList : List { + public void Add(string EntityPropertyName,string EntityName) + { + this.RemoveAll(it => it.EntityPropertyName.Equals(EntityPropertyName, StringComparison.CurrentCultureIgnoreCase)); + this.Add(new IgnoreComumn() { EntityPropertyName = EntityPropertyName, EntityName=EntityName}); + } + } + public class MappingColumnList: List { public void Add(string EntityPropertyName, string dbColumnName,string dbTableName) diff --git a/SqlSugar/ExpressionsToSql/ExpressionContext.cs b/SqlSugar/ExpressionsToSql/ExpressionContext.cs index b89727a27..d7bff1b5a 100644 --- a/SqlSugar/ExpressionsToSql/ExpressionContext.cs +++ b/SqlSugar/ExpressionsToSql/ExpressionContext.cs @@ -21,6 +21,7 @@ namespace SqlSugar public int ParameterIndex { get; set; } public MappingColumnList MappingColumns { get; set; } public MappingTableList MappingTables { get; set; } + public IgnoreComumnList IgnoreComumnList { get; set; } public List JoinQueryInfos { get; set; } public bool IsJoin diff --git a/SqlSugar/ExpressionsToSql/ResolveItems/MemberInitExpressionResolve.cs b/SqlSugar/ExpressionsToSql/ResolveItems/MemberInitExpressionResolve.cs index 6bfcb5636..583d93370 100644 --- a/SqlSugar/ExpressionsToSql/ResolveItems/MemberInitExpressionResolve.cs +++ b/SqlSugar/ExpressionsToSql/ResolveItems/MemberInitExpressionResolve.cs @@ -93,6 +93,12 @@ namespace SqlSugar var listProperties = item.Type.GetProperties().Cast().ToList(); foreach (var property in listProperties) { + if (this.Context.IgnoreComumnList != null + && this.Context.IgnoreComumnList.Any( + it => it.EntityName == item.Type.Name && it.EntityPropertyName == property.Name)) + { + continue; + } if (property.PropertyType.IsClass()) { diff --git a/SqlSugar/ExpressionsToSql/ResolveItems/NewExpressionResolve.cs b/SqlSugar/ExpressionsToSql/ResolveItems/NewExpressionResolve.cs index 86d38d7c7..ee2600d12 100644 --- a/SqlSugar/ExpressionsToSql/ResolveItems/NewExpressionResolve.cs +++ b/SqlSugar/ExpressionsToSql/ResolveItems/NewExpressionResolve.cs @@ -90,6 +90,11 @@ namespace SqlSugar var listProperties = item.Type.GetProperties().Cast().ToList(); foreach (var property in listProperties) { + if (this.Context.IgnoreComumnList != null + && this.Context.IgnoreComumnList.Any( + it => it.EntityName == item.Type.Name&&it.EntityPropertyName==property.Name)) { + continue; + } if (property.PropertyType.IsClass()) { diff --git a/SqlSugar/Interface/ILambdaExpressions.cs b/SqlSugar/Interface/ILambdaExpressions.cs index a5bd4737d..0b18fef71 100644 --- a/SqlSugar/Interface/ILambdaExpressions.cs +++ b/SqlSugar/Interface/ILambdaExpressions.cs @@ -8,9 +8,10 @@ namespace SqlSugar { public partial interface ILambdaExpressions { - MappingColumnList MappingColumns { get; set; } - MappingTableList MappingTables { get; set; } - List JoinQueryInfos { get; set; } + MappingColumnList MappingColumns { get; set; } + MappingTableList MappingTables { get; set; } + IgnoreComumnList IgnoreComumnList { get; set; } + List JoinQueryInfos { get; set; } SqlSugarClient Context { get; set; } IDbMethods DbMehtods { get; set; } Expression Expression { get; set; } diff --git a/SqlSugar/Interface/IRewritableMethods.cs b/SqlSugar/Interface/IRewritableMethods.cs new file mode 100644 index 000000000..f2e7acca6 --- /dev/null +++ b/SqlSugar/Interface/IRewritableMethods.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Dynamic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SqlSugar +{ + public interface IRewritableMethods + { + ExpandoObject DataReaderToExpandoObject(IDataReader reader); + List DataReaderToDynamicList(IDataReader reader); + + /// + /// Serialize Object + /// + /// + /// + string SerializeObject(object value); + /// + /// Serialize Object + /// + /// + /// + T DeserializeObject(string value); + } +} diff --git a/SqlSugar/SqlSugar.csproj b/SqlSugar/SqlSugar.csproj index 1018e0db2..d47e06e5a 100644 --- a/SqlSugar/SqlSugar.csproj +++ b/SqlSugar/SqlSugar.csproj @@ -74,6 +74,7 @@ + @@ -87,6 +88,7 @@ + @@ -139,6 +141,7 @@ + diff --git a/SqlSugar/SqlSugarAccessory.cs b/SqlSugar/SqlSugarAccessory.cs index bd42cf3bc..f4a38b245 100644 --- a/SqlSugar/SqlSugarAccessory.cs +++ b/SqlSugar/SqlSugarAccessory.cs @@ -15,11 +15,13 @@ namespace SqlSugar public Guid ContextID { get; set; } public MappingTableList MappingTables = new MappingTableList(); public MappingColumnList MappingColumns = new MappingColumnList(); + public IgnoreComumnList IgnoreComumns = new IgnoreComumnList(); protected ISqlBuilder _SqlBuilder; protected IDb _Ado; protected ILambdaExpressions _LambdaExpressions; protected object _Sqlable; + protected IRewritableMethods _RewritableMethods; protected void InitConstructor() { diff --git a/SqlSugar/SqlSugarClient.cs b/SqlSugar/SqlSugarClient.cs index f714722e7..72c6ae48c 100644 --- a/SqlSugar/SqlSugarClient.cs +++ b/SqlSugar/SqlSugarClient.cs @@ -91,6 +91,27 @@ namespace SqlSugar } } + /// + /// Rewritable Methods + /// + public virtual IRewritableMethods RewritableMethods + { + get + { + if (base._RewritableMethods == null) + { + base._RewritableMethods = new RewritableMethods(); + } + return _RewritableMethods; + } + set + { + base._RewritableMethods = value; + } + } + #endregion + + #region functions /// /// Lambda Query operation /// @@ -107,11 +128,10 @@ namespace SqlSugar reval.SqlBuilder.LambadaQueryBuilder.LambdaExpressions = InstanceFactory.GetLambdaExpressions(base.CurrentConnectionConfig); return reval; } - /// /// Lambda Query operation /// - public virtual ISugarQueryable Queryable(string tableName,string shortName,string widthString=null) + public virtual ISugarQueryable Queryable(string tableName, string shortName, string widthString = null) { var queryable = Queryable(); queryable.SqlBuilder.LambadaQueryBuilder.EntityName = tableName; @@ -119,7 +139,6 @@ namespace SqlSugar queryable.SqlBuilder.LambadaQueryBuilder.TableWithString = widthString; return queryable; } - /// /// Lambda Query operation /// @@ -134,15 +153,15 @@ namespace SqlSugar { var queryable = Queryable(); string shortName = string.Empty; - queryable.SqlBuilder.LambadaQueryBuilder.JoinQueryInfos = base.GetJoinInfos(joinExpression, this,ref shortName, typeof(T2)); - queryable.SqlBuilder.LambadaQueryBuilder.TableShortName=shortName; + queryable.SqlBuilder.LambadaQueryBuilder.JoinQueryInfos = base.GetJoinInfos(joinExpression, this, ref shortName, typeof(T2)); + queryable.SqlBuilder.LambadaQueryBuilder.TableShortName = shortName; return queryable; } public virtual ISugarQueryable Queryable(Expression> joinExpression) where T : class, new() { var queryable = Queryable(); string shortName = string.Empty; - queryable.SqlBuilder.LambadaQueryBuilder.JoinQueryInfos = base.GetJoinInfos(joinExpression, this, ref shortName, typeof(T2),typeof(T3)); + queryable.SqlBuilder.LambadaQueryBuilder.JoinQueryInfos = base.GetJoinInfos(joinExpression, this, ref shortName, typeof(T2), typeof(T3)); queryable.SqlBuilder.LambadaQueryBuilder.TableShortName = shortName; return queryable; } @@ -150,7 +169,7 @@ namespace SqlSugar { var queryable = Queryable(); string shortName = string.Empty; - queryable.SqlBuilder.LambadaQueryBuilder.JoinQueryInfos = base.GetJoinInfos(joinExpression, this, ref shortName, typeof(T2), typeof(T3),typeof(T4)); + queryable.SqlBuilder.LambadaQueryBuilder.JoinQueryInfos = base.GetJoinInfos(joinExpression, this, ref shortName, typeof(T2), typeof(T3), typeof(T4)); queryable.SqlBuilder.LambadaQueryBuilder.TableShortName = shortName; return queryable; } @@ -158,7 +177,7 @@ namespace SqlSugar { var queryable = Queryable(); string shortName = string.Empty; - queryable.SqlBuilder.LambadaQueryBuilder.JoinQueryInfos = base.GetJoinInfos(joinExpression, this, ref shortName, typeof(T2), typeof(T3), typeof(T4),typeof(T5)); + queryable.SqlBuilder.LambadaQueryBuilder.JoinQueryInfos = base.GetJoinInfos(joinExpression, this, ref shortName, typeof(T2), typeof(T3), typeof(T4), typeof(T5)); queryable.SqlBuilder.LambadaQueryBuilder.TableShortName = shortName; return queryable; } @@ -166,7 +185,7 @@ namespace SqlSugar { var queryable = Queryable(); string shortName = string.Empty; - queryable.SqlBuilder.LambadaQueryBuilder.JoinQueryInfos = base.GetJoinInfos(joinExpression, this, ref shortName, typeof(T2), typeof(T3), typeof(T4), typeof(T5),typeof(T6)); + queryable.SqlBuilder.LambadaQueryBuilder.JoinQueryInfos = base.GetJoinInfos(joinExpression, this, ref shortName, typeof(T2), typeof(T3), typeof(T4), typeof(T5), typeof(T6)); queryable.SqlBuilder.LambadaQueryBuilder.TableShortName = shortName; return queryable; } @@ -174,7 +193,7 @@ namespace SqlSugar { var queryable = Queryable(); string shortName = string.Empty; - queryable.SqlBuilder.LambadaQueryBuilder.JoinQueryInfos = base.GetJoinInfos(joinExpression, this, ref shortName, typeof(T2), typeof(T3), typeof(T4), typeof(T5), typeof(T6),typeof(T7)); + queryable.SqlBuilder.LambadaQueryBuilder.JoinQueryInfos = base.GetJoinInfos(joinExpression, this, ref shortName, typeof(T2), typeof(T3), typeof(T4), typeof(T5), typeof(T6), typeof(T7)); queryable.SqlBuilder.LambadaQueryBuilder.TableShortName = shortName; return queryable; } @@ -182,7 +201,7 @@ namespace SqlSugar { var queryable = Queryable(); string shortName = string.Empty; - queryable.SqlBuilder.LambadaQueryBuilder.JoinQueryInfos = base.GetJoinInfos(joinExpression, this, ref shortName, typeof(T2), typeof(T3), typeof(T4), typeof(T5), typeof(T6), typeof(T7),typeof(T8)); + queryable.SqlBuilder.LambadaQueryBuilder.JoinQueryInfos = base.GetJoinInfos(joinExpression, this, ref shortName, typeof(T2), typeof(T3), typeof(T4), typeof(T5), typeof(T6), typeof(T7), typeof(T8)); queryable.SqlBuilder.LambadaQueryBuilder.TableShortName = shortName; return queryable; } @@ -190,7 +209,7 @@ namespace SqlSugar { var queryable = Queryable(); string shortName = string.Empty; - queryable.SqlBuilder.LambadaQueryBuilder.JoinQueryInfos = base.GetJoinInfos(joinExpression, this, ref shortName, typeof(T2), typeof(T3), typeof(T4), typeof(T5), typeof(T6), typeof(T7), typeof(T8),typeof(T9)); + queryable.SqlBuilder.LambadaQueryBuilder.JoinQueryInfos = base.GetJoinInfos(joinExpression, this, ref shortName, typeof(T2), typeof(T3), typeof(T4), typeof(T5), typeof(T6), typeof(T7), typeof(T8), typeof(T9)); queryable.SqlBuilder.LambadaQueryBuilder.TableShortName = shortName; return queryable; } @@ -198,13 +217,11 @@ namespace SqlSugar { var queryable = Queryable(); string shortName = string.Empty; - queryable.SqlBuilder.LambadaQueryBuilder.JoinQueryInfos = base.GetJoinInfos(joinExpression, this, ref shortName, typeof(T2), typeof(T3), typeof(T4), typeof(T5), typeof(T6), typeof(T7), typeof(T8), typeof(T9),typeof(T10)); + queryable.SqlBuilder.LambadaQueryBuilder.JoinQueryInfos = base.GetJoinInfos(joinExpression, this, ref shortName, typeof(T2), typeof(T3), typeof(T4), typeof(T5), typeof(T6), typeof(T7), typeof(T8), typeof(T9), typeof(T10)); queryable.SqlBuilder.LambadaQueryBuilder.TableShortName = shortName; return queryable; } - #endregion - #region functions public virtual List SqlQuery(string sql, object pars = null) { var dbPars = this.Database.GetParameters(pars);