From 79af494bfa24ff16a14d277764ae65f8c8999754 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Fri, 27 Jan 2017 18:35:48 +0800 Subject: [PATCH] - --- .vs/SqlSugar/v14/.suo | Bin 236544 -> 272384 bytes OrmTest/ExpressionTest/ExpTestBase.cs | 49 +++++++++++ OrmTest/ExpressionTest/Select.cs | 66 +++++++++++---- OrmTest/OrmTest.csproj | 1 + OrmTest/Program.cs | 79 ++++++++---------- OrmTest/bin/Debug/OrmTest.exe | Bin 14336 -> 15872 bytes OrmTest/bin/Debug/OrmTest.pdb | Bin 28160 -> 30208 bytes OrmTest/bin/Debug/SqlSugar.dll | Bin 132608 -> 132608 bytes OrmTest/bin/Debug/SqlSugar.pdb | Bin 384512 -> 384512 bytes .../Common/ExpressionResult.cs | 8 +- .../MemberInitExpressionResolve.cs | 1 + .../ResolveItems/NewExpressionResolve.cs | 1 + .../SimpleBinaryExpressionResolve.cs | 4 +- 13 files changed, 146 insertions(+), 63 deletions(-) create mode 100644 OrmTest/ExpressionTest/ExpTestBase.cs diff --git a/.vs/SqlSugar/v14/.suo b/.vs/SqlSugar/v14/.suo index 3f12d94c79adad91a0d26b97c87f296227c80db8..63a4937587f25bc04db26e6d0493836db29adb67 100644 GIT binary patch delta 5925 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 RUahwe;kxxS>MQ@H{uRtKF3|u0 delta 7871 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 Txar$#k$y6X4`U7KV*398w481h diff --git a/OrmTest/ExpressionTest/ExpTestBase.cs b/OrmTest/ExpressionTest/ExpTestBase.cs new file mode 100644 index 000000000..84fda26de --- /dev/null +++ b/OrmTest/ExpressionTest/ExpTestBase.cs @@ -0,0 +1,49 @@ +using System; +using System.Collections.Generic; +using SqlSugar; +using System.Linq; +namespace OrmTest.ExpressionTest +{ + public class ExpTestBase + { + public int Count { get; set; } + private DateTime BeginTime { get; set; } + private DateTime EndTime { get; set; } + + public void Begin() + { + this.BeginTime = DateTime.Now; + } + + public void End(string title) + { + this.EndTime = DateTime.Now; + Console.WriteLine(title + " \r\nCount: " + this.Count + "\r\nTime: " + (this.EndTime - this.BeginTime).TotalSeconds + " Seconds \r\n"); + } + + internal void CheckSelect(string selectorValue, List pars, string validValue, List validPars, string errorMessage) + { + if (selectorValue.Trim() != validValue.Trim()) + { + throw new Exception(errorMessage); + } + if (pars != null && pars.Count > 0) + { + if (pars.Count != validPars.Count) + { + throw new Exception(errorMessage); + } + else + { + foreach (var item in pars) + { + if (!validPars.Any(it => it.ParameterName.Equals(item.ParameterName) && it.Value.Equals(item.Value))) + { + throw new Exception(errorMessage); + } + } + } + } + } + } +} \ No newline at end of file diff --git a/OrmTest/ExpressionTest/Select.cs b/OrmTest/ExpressionTest/Select.cs index 84aad5e7d..e67c1065c 100644 --- a/OrmTest/ExpressionTest/Select.cs +++ b/OrmTest/ExpressionTest/Select.cs @@ -9,61 +9,91 @@ using System.Threading.Tasks; namespace OrmTest.ExpressionTest { - public class Select + public class Select : ExpTestBase { - internal static void Init() + private Select() { } + public Select(int eachCount) { - DateTime b = DateTime.Now; - int count = 1; - for (int i = 0; i < count; i++) + this.Count = eachCount; + } + internal void Init() + { + base.Begin(); + for (int i = 0; i < base.Count; i++) { single(); Multiple(); singleDynamic(); MultipleDynamic(); } - DateTime e = DateTime.Now; - Console.WriteLine("Count: " + count + "\r\nTime: " + (e - b).TotalSeconds + " Seconds "); + base.End("Select Test"); } - private static void Multiple() + private void Multiple() { - Expression> exp = (it, school) => new Student() { Name = "a", Id = it.Id, SchoolId = school.Id,TestId=it.Id+1 }; + Expression> exp = (it, school) => new Student() { Name = "a", Id = it.Id, SchoolId = school.Id, TestId = it.Id + 1 }; ExpressionContext expContext = new ExpressionContext(exp, ResolveExpressType.SelectMultiple); expContext.Resolve(); var selectorValue = expContext.Result.GetString(); var pars = expContext.Parameters; - if (selectorValue.Trim() != " @constant1 AS Name , it.Id AS Id , school.Id AS SchoolId ".Trim()) - { - throw new Exception("Multiple Error"); - } + base.CheckSelect( + selectorValue, + pars, + @" @constant1 AS Name , it.Id AS Id , school.Id AS SchoolId , ( it.Id + 1 ) AS TestId ", + new List(){ + new SugarParameter("@constant1","a")}, + "Select.Multiple Error"); } - private static void MultipleDynamic() + + private void MultipleDynamic() { Expression> exp = (it, school) => new { Name = "a", Id = it.Id / 2, SchoolId = school.Id }; ExpressionContext expContext = new ExpressionContext(exp, ResolveExpressType.SelectMultiple); expContext.Resolve(); var selectorValue = expContext.Result.GetString(); var pars = expContext.Parameters; + base.CheckSelect( + selectorValue, + pars, + @" @constant1 AS Name , ( it.Id / 2 ) AS Id , school.Id AS SchoolId ", + new List(){ + new SugarParameter("@constant1","a")}, + "Select.MultipleDynamic Error"); } - private static void single() + private void single() { int p = 1; - Expression> exp = it => new Student() { Name = "a", Id = it.Id, SchoolId = p }; + Expression> exp = it => new Student() { Name = "a", Id = it.Id, SchoolId = p,TestId=it.Id+1 }; ExpressionContext expContext = new ExpressionContext(exp, ResolveExpressType.SelectSingle); expContext.Resolve(); var selectorValue = expContext.Result.GetString(); var pars = expContext.Parameters; + base.CheckSelect( + selectorValue, + pars, + @" @constant1 AS Name , Id AS Id , @constant3 AS SchoolId , ( Id + 1 ) AS TestId ", + new List(){ + new SugarParameter("@constant1","a"), + new SugarParameter("@constant3",1)}, + "Select.single Error"); } - private static void singleDynamic() + private void singleDynamic() { string a = "a"; - Expression> exp = it => new { x = it.Id, shoolid = 1, name = a }; + Expression> exp = it => new { x = it.Id, shoolid = 1, name = a,p=it.Id*1 }; ExpressionContext expContext = new ExpressionContext(exp, ResolveExpressType.SelectSingle); expContext.Resolve(); var selectorValue = expContext.Result.GetString(); var pars = expContext.Parameters; + base.CheckSelect( + selectorValue, + pars, + @" Id AS x , @constant2 AS shoolid , @constant3 AS name , ( Id * 1 ) AS p ", + new List(){ + new SugarParameter("@constant2",1), + new SugarParameter("@constant3","a")}, + "Select.single Error"); } } } diff --git a/OrmTest/OrmTest.csproj b/OrmTest/OrmTest.csproj index 687c92b34..c286d65e0 100644 --- a/OrmTest/OrmTest.csproj +++ b/OrmTest/OrmTest.csproj @@ -43,6 +43,7 @@ + diff --git a/OrmTest/Program.cs b/OrmTest/Program.cs index 51954f9ca..4dda4aa50 100644 --- a/OrmTest/Program.cs +++ b/OrmTest/Program.cs @@ -14,61 +14,56 @@ namespace OrmTest class Program { - public static string GetName() { - return "a"; - } - public string x = "2"; - public static string id { get; set;} static void Main(string[] args) { - - - OrmTest.ExpressionTest.Select.Init(); + int eachCount = 1; + new OrmTest.ExpressionTest.Select(eachCount).Init(); OrmTest.ExpressionTest.Field.Init(); - Program.id = "xx"; - string x = "1"; - Expression> exp = it => new Program() { x=it.Name }; - // Expression> exp = it => it.Name; - ExpressionContext expContext = new ExpressionContext(exp, ResolveExpressType.WhereSingle); - // var x = expContext.GetFiledName(); - // var xx = expContext.ToResultString(); + // Program.id = "xx"; + // string x = "1"; + // Expression> exp = it => new Program() { x=it.Name }; + //// Expression> exp = it => it.Name; + // ExpressionContext expContext = new ExpressionContext(exp, ResolveExpressType.WhereSingle); + // var x = expContext.GetFiledName(); + // var xx = expContext.ToResultString(); - var b = DateTime.Now; - var config = new AttrbuitesCofnig() - { - DbType = DbType.SqlServer, - ConnectionString = "server=.;uid=sa;pwd=sasa;database=SqlSugar4XTest", - EntityNamespace = "OrmTest.Models", - IsAutoCloseConnection = false - }; - SqlSugarClient db = new SqlSugarClient(config); - for (int i = 0; i < 1; i++) - { - db.Database.IsEnableLogEvent = true; - db.Database.LogEventStarting = (sql, par) => - { - Console.WriteLine(sql + " " + par); - }; + // var b = DateTime.Now; + // var config = new AttrbuitesCofnig() + // { + // DbType = DbType.SqlServer, + // ConnectionString = "server=.;uid=sa;pwd=sasa;database=SqlSugar4XTest", + // EntityNamespace = "OrmTest.Models", + // IsAutoCloseConnection = false + // }; + // SqlSugarClient db = new SqlSugarClient(config); + // for (int i = 0; i < 1; i++) + // { + // db.Database.IsEnableLogEvent = true; + // db.Database.LogEventStarting = (sql, par) => + // { + // Console.WriteLine(sql + " " + par); + // }; - var tb = db.Database.DbMaintenance.GetTableInfoList(); - var tc = db.Database.DbMaintenance.GetColumnInfosByTableName("student"); + // var tb = db.Database.DbMaintenance.GetTableInfoList(); + // var tc = db.Database.DbMaintenance.GetColumnInfosByTableName("student"); - //var list = db.Queryable() - // .JoinTable((st,sc)=>st.SchoolId==sc.Id) - // .Where("id=2").Where(it => it.Name == "id").Where(it => it.Id > 0).ToList(); + // //var list = db.Queryable() + // // .JoinTable((st,sc)=>st.SchoolId==sc.Id) + // // .Where("id=2").Where(it => it.Name == "id").Where(it => it.Id > 0).ToList(); - //var list2 = db.Queryable().Where(it => it.Name == "id").Where(it => it.Id > 0).ToList(); - //var xx = db.SqlQuery("select * from Student"); - //var cl = db.Database.DbMaintenance.GetColumnInfosByTableName("student"); + // //var list2 = db.Queryable().Where(it => it.Name == "id").Where(it => it.Id > 0).ToList(); + // //var xx = db.SqlQuery("select * from Student"); + // //var cl = db.Database.DbMaintenance.GetColumnInfosByTableName("student"); - } - var e = DateTime.Now; - var t = (e - b).TotalMilliseconds; + // } + // var e = DateTime.Now; + // var t = (e - b).TotalMilliseconds; + //} } } } diff --git a/OrmTest/bin/Debug/OrmTest.exe b/OrmTest/bin/Debug/OrmTest.exe index f446ff732fd4304bd081fe0da9c1eda75def5cbd..25ebdfe4b05c099dad7f6a3e1efb2488dc2681a1 100644 GIT binary patch literal 15872 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 XmH)S0+mV0K*xT@l`~P46_dM{QKo3`b diff --git a/OrmTest/bin/Debug/OrmTest.pdb b/OrmTest/bin/Debug/OrmTest.pdb index ec773bb5bc422bf3384462daff2c1a933bac07a0..3b2933bd2471db06e3f768ca574849b87ce7c7ba 100644 GIT binary patch literal 30208 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 IeyD-}1K1=%VgLXD literal 28160 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 D3IEP$ diff --git a/OrmTest/bin/Debug/SqlSugar.dll b/OrmTest/bin/Debug/SqlSugar.dll index b31560b511ea3e5b0f7b8e238fc9ff47780816c1..d272f7d5c7a79cfeb7e6cc698a792ed3078fadb0 100644 GIT binary patch delta 27516 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

  • +6FFY|Vr7N5 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 delta 38028 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 LH?=sgG7|m*R%N~@ diff --git a/SqlSugar/ExpressionsToSql/Common/ExpressionResult.cs b/SqlSugar/ExpressionsToSql/Common/ExpressionResult.cs index d475cb53d..236650772 100644 --- a/SqlSugar/ExpressionsToSql/Common/ExpressionResult.cs +++ b/SqlSugar/ExpressionsToSql/Common/ExpressionResult.cs @@ -17,7 +17,7 @@ namespace SqlSugar } set { - Check.Exception(value!=null&&IsLockCurrentParameter, "CurrentParameter is locked."); + Check.Exception(value != null && IsLockCurrentParameter, "CurrentParameter is locked."); this._CurrentParameter = value; this.IsLockCurrentParameter = false; } @@ -70,6 +70,12 @@ namespace SqlSugar return this.Result.ToString(); } + public void TrimEnd() + { + if (this._Result == null) return; + this.Result=this.Result.Remove(this.Result.Length-1,1); + } + public void Append(object parameter) { if (this.CurrentParameter.IsValuable() && this.CurrentParameter.AppendType.IsIn(ExpressionResultAppendType.AppendTempDate)) diff --git a/SqlSugar/ExpressionsToSql/ResolveItems/MemberInitExpressionResolve.cs b/SqlSugar/ExpressionsToSql/ResolveItems/MemberInitExpressionResolve.cs index 8fc104512..19fef0f7d 100644 --- a/SqlSugar/ExpressionsToSql/ResolveItems/MemberInitExpressionResolve.cs +++ b/SqlSugar/ExpressionsToSql/ResolveItems/MemberInitExpressionResolve.cs @@ -80,6 +80,7 @@ namespace SqlSugar base.Start(); parameter.CommonTempData = null; parameter.IsAppendResult(); + this.Context.Result.TrimEnd(); base.Context.Result.Append(base.Context.GetAsString(memberName, parameter.CommonTempData.ObjToString())); base.Context.Result.CurrentParameter = null; } diff --git a/SqlSugar/ExpressionsToSql/ResolveItems/NewExpressionResolve.cs b/SqlSugar/ExpressionsToSql/ResolveItems/NewExpressionResolve.cs index 1756f10dd..c6333955e 100644 --- a/SqlSugar/ExpressionsToSql/ResolveItems/NewExpressionResolve.cs +++ b/SqlSugar/ExpressionsToSql/ResolveItems/NewExpressionResolve.cs @@ -76,6 +76,7 @@ namespace SqlSugar base.Start(); parameter.CommonTempData = null; parameter.IsAppendResult(); + this.Context.Result.TrimEnd(); base.Context.Result.Append(base.Context.GetAsString(memberName, parameter.CommonTempData.ObjToString())); base.Context.Result.CurrentParameter = null; } diff --git a/SqlSugar/ExpressionsToSql/ResolveItems/SimpleBinaryExpressionResolve.cs b/SqlSugar/ExpressionsToSql/ResolveItems/SimpleBinaryExpressionResolve.cs index eaa2dcae5..ff96208e5 100644 --- a/SqlSugar/ExpressionsToSql/ResolveItems/SimpleBinaryExpressionResolve.cs +++ b/SqlSugar/ExpressionsToSql/ResolveItems/SimpleBinaryExpressionResolve.cs @@ -21,10 +21,10 @@ namespace SqlSugar var rightValue = parameter.CommonTempData; base.Expression = expression.Left; base.Start(); - var leftValue = parameter.CommonTempData; + var leftValue = parameter.Context.Result.CurrentParameter.CommonTempData; var operatorValue = ExpressionTool.GetOperator(expression.NodeType); this.Context.Result.CurrentParameter = null; - this.Context.Result.AppendFormat(ExpressionConst.BinaryFormatString, leftValue, operatorValue, rightValue); + this.Context.Result.AppendFormat(ExpressionConst.BinaryFormatString, leftValue, operatorValue, rightValue.ObjToString()); break; case ResolveExpressType.WhereSingle: case ResolveExpressType.WhereMultiple: