diff --git a/OrmTest/ExpressionTest/Field.cs b/OrmTest/ExpressionTest/Field.cs index f8634ba60..821f9d960 100644 --- a/OrmTest/ExpressionTest/Field.cs +++ b/OrmTest/ExpressionTest/Field.cs @@ -29,16 +29,16 @@ namespace OrmTest.ExpressionTest private void FieldSingle() { Expression> exp = it => it.Name; - ExpressionContext expContext = new ExpressionContext(exp, ResolveExpressType.FieldSingle); - expContext.Resolve(); + ExpressionContext expContext = new ExpressionContext(); + expContext.Resolve(exp, ResolveExpressType.FieldSingle); var selectorValue = expContext.Result.GetString(); Check(selectorValue, null, "Name", null, "FieldSingle"); } private void FieldMultiple() { Expression> exp = it => it.Name; - ExpressionContext expContext = new ExpressionContext(exp, ResolveExpressType.FieldMultiple); - expContext.Resolve(); + ExpressionContext expContext = new ExpressionContext(); + expContext.Resolve(exp, ResolveExpressType.FieldMultiple); var selectorValue = expContext.Result.GetString(); Check(selectorValue, null, "it.Name", null, "FieldMultiple"); } diff --git a/OrmTest/ExpressionTest/Join.cs b/OrmTest/ExpressionTest/Join.cs new file mode 100644 index 000000000..9f0506cc0 --- /dev/null +++ b/OrmTest/ExpressionTest/Join.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace OrmTest.ExpressionTest +{ + public class Join + { + } +} diff --git a/OrmTest/ExpressionTest/Method.cs b/OrmTest/ExpressionTest/Method.cs index 540fef942..943f9cf38 100644 --- a/OrmTest/ExpressionTest/Method.cs +++ b/OrmTest/ExpressionTest/Method.cs @@ -38,8 +38,8 @@ namespace OrmTest.ExpressionTest private void Contains() { Expression> exp = it => NBORM.Contains(it.Name,"a"); - SqlServerExpressionContext expContext = new SqlServerExpressionContext(exp, ResolveExpressType.WhereSingle); - expContext.Resolve(); + SqlServerExpressionContext expContext = new SqlServerExpressionContext(); + expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; base.Check(value, pars, " (Name like '%'+@MethodConst0+'%') ", new List() { @@ -50,8 +50,8 @@ namespace OrmTest.ExpressionTest private void Trim() { Expression> exp = it =>NBORM.Trim(" a")==it.Name; - SqlServerExpressionContext expContext = new SqlServerExpressionContext(exp, ResolveExpressType.WhereSingle); - expContext.Resolve(); + SqlServerExpressionContext expContext = new SqlServerExpressionContext(); + expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; base.Check(value, pars, "((rtrim(ltrim(@MethodConst0))) = Name )", new List() { @@ -62,8 +62,8 @@ namespace OrmTest.ExpressionTest private void ToUpper() { Expression> exp = it =>"a"== NBORM.ToUpper(it.Id) ; - SqlServerExpressionContext expContext = new SqlServerExpressionContext(exp, ResolveExpressType.WhereSingle); - expContext.Resolve(); + SqlServerExpressionContext expContext = new SqlServerExpressionContext(); + expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; base.Check(value, pars, "( @Const0 = (UPPER(Id)) )", new List() { @@ -73,8 +73,8 @@ namespace OrmTest.ExpressionTest private void ToLower() { Expression> exp = it => "a" == NBORM.ToLower(it.Id); - SqlServerExpressionContext expContext = new SqlServerExpressionContext(exp, ResolveExpressType.WhereSingle); - expContext.Resolve(); + SqlServerExpressionContext expContext = new SqlServerExpressionContext(); + expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; base.Check(value, pars, "( @Const0 = (LOWER(Id)) )", new List() { @@ -86,8 +86,8 @@ namespace OrmTest.ExpressionTest private void StringIsNullOrEmpty() { Expression> exp = it => it.Id > 2 || NBORM.IsNullOrEmpty(it.Id); ; - SqlServerExpressionContext expContext = new SqlServerExpressionContext(exp, ResolveExpressType.WhereSingle); - expContext.Resolve(); + SqlServerExpressionContext expContext = new SqlServerExpressionContext(); + expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; base.Check(value, pars, "(( Id > @Id0 ) OR ( Id='' OR Id IS NULL ))", new List() { @@ -97,8 +97,8 @@ namespace OrmTest.ExpressionTest private void StringIsNullOrEmpty2() { Expression> exp = it => 2 == it.Id || NBORM.IsNullOrEmpty(true); ; - SqlServerExpressionContext expContext = new SqlServerExpressionContext(exp, ResolveExpressType.WhereSingle); - expContext.Resolve(); + SqlServerExpressionContext expContext = new SqlServerExpressionContext(); + expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; base.Check(value, pars, "(( @Id0 = Id ) OR ( @MethodConst1='' OR @MethodConst1 IS NULL ))", new List() { @@ -110,8 +110,8 @@ namespace OrmTest.ExpressionTest { int a = 1; Expression> exp = it => 2 == it.Id || NBORM.IsNullOrEmpty(a); ; - SqlServerExpressionContext expContext = new SqlServerExpressionContext(exp, ResolveExpressType.WhereSingle); - expContext.Resolve(); + SqlServerExpressionContext expContext = new SqlServerExpressionContext(); + expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; base.Check(value, pars, "(( @Id0 = Id ) OR ( @MethodConst1='' OR @MethodConst1 IS NULL ))", new List() { @@ -123,8 +123,8 @@ namespace OrmTest.ExpressionTest { WhereConst.name = "xx"; Expression> exp = it => 2 == it.Id || NBORM.IsNullOrEmpty(WhereConst.name); ; - SqlServerExpressionContext expContext = new SqlServerExpressionContext(exp, ResolveExpressType.WhereSingle); - expContext.Resolve(); + SqlServerExpressionContext expContext = new SqlServerExpressionContext(); + expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; base.Check(value, pars, "(( @Id0 = Id ) OR ( @MethodConst1='' OR @MethodConst1 IS NULL ))", new List() { diff --git a/OrmTest/ExpressionTest/Select.cs b/OrmTest/ExpressionTest/Select.cs index efc692fbe..964569c93 100644 --- a/OrmTest/ExpressionTest/Select.cs +++ b/OrmTest/ExpressionTest/Select.cs @@ -32,8 +32,8 @@ namespace OrmTest.ExpressionTest private void Multiple() { 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(); + ExpressionContext expContext = new ExpressionContext(); + expContext.Resolve(exp, ResolveExpressType.SelectMultiple); var selectorValue = expContext.Result.GetString(); var pars = expContext.Parameters; base.Check( @@ -48,8 +48,8 @@ namespace OrmTest.ExpressionTest 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(); + ExpressionContext expContext = new ExpressionContext(); + expContext.Resolve(exp, ResolveExpressType.SelectMultiple); var selectorValue = expContext.Result.GetString(); var pars = expContext.Parameters; base.Check( @@ -64,8 +64,8 @@ namespace OrmTest.ExpressionTest { int p = 1; 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(); + ExpressionContext expContext = new ExpressionContext(); + expContext.Resolve(exp, ResolveExpressType.SelectSingle); var selectorValue = expContext.Result.GetString(); var pars = expContext.Parameters; base.Check( @@ -82,8 +82,8 @@ namespace OrmTest.ExpressionTest { string a = "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(); + ExpressionContext expContext = new ExpressionContext(); + expContext.Resolve(exp, ResolveExpressType.SelectSingle); var selectorValue = expContext.Result.GetString(); var pars = expContext.Parameters; base.Check( diff --git a/OrmTest/ExpressionTest/Where.cs b/OrmTest/ExpressionTest/Where.cs index 128a11b88..e2e91497c 100644 --- a/OrmTest/ExpressionTest/Where.cs +++ b/OrmTest/ExpressionTest/Where.cs @@ -35,8 +35,8 @@ namespace OrmTest.ExpressionTest private void WhereMultiple1() { Expression> exp = it => it.Id > 1; - ExpressionContext expContext = new ExpressionContext(exp, ResolveExpressType.WhereMultiple); - expContext.Resolve(); + ExpressionContext expContext = new ExpressionContext(); + expContext.Resolve(exp, ResolveExpressType.WhereMultiple); var value = expContext.Result.GetString(); var pars = expContext.Parameters; base.Check(value, pars, "( it.Id > @Id0 )", new List() { @@ -48,8 +48,8 @@ namespace OrmTest.ExpressionTest string name = "a"; WhereConst.name = "a1"; Expression> exp = it => (it.Id > 1 && it.Name != name || it.Id == 1) || it.Name == WhereConst.name; - ExpressionContext expContext = new ExpressionContext(exp, ResolveExpressType.WhereMultiple); - expContext.Resolve(); + ExpressionContext expContext = new ExpressionContext(); + expContext.Resolve(exp, ResolveExpressType.WhereMultiple); var value = expContext.Result.GetString(); var pars = expContext.Parameters; base.Check(value, pars, " (((( it.Id > @Id0 ) AND ( it.Name <> @Name1 )) OR ( it.Id = @Id2 )) OR ( it.Name = @Name3 ))", new List() { @@ -62,8 +62,8 @@ namespace OrmTest.ExpressionTest private void whereSingle1() { Expression> exp = it => it.Id > 1; - ExpressionContext expContext = new ExpressionContext(exp, ResolveExpressType.WhereSingle); - expContext.Resolve(); + ExpressionContext expContext = new ExpressionContext(); + expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; base.Check(value, pars, "( Id > @Id0 )", new List() { @@ -73,8 +73,8 @@ namespace OrmTest.ExpressionTest private void whereSingle2() { Expression> exp = it => 1 > it.Id; - ExpressionContext expContext = new ExpressionContext(exp, ResolveExpressType.WhereSingle); - expContext.Resolve(); + ExpressionContext expContext = new ExpressionContext(); + expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; base.Check(value, pars, "( @Id0 > Id )", new List() { @@ -84,8 +84,8 @@ namespace OrmTest.ExpressionTest private void whereSingle3() { Expression> exp = it => it.Id > 1 || it.Name == "a"; - ExpressionContext expContext = new ExpressionContext(exp, ResolveExpressType.WhereSingle); - expContext.Resolve(); + ExpressionContext expContext = new ExpressionContext(); + expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; base.Check(value, pars, " (( Id > @Id0 ) OR ( Name = @Name1 ))", new List() { @@ -96,8 +96,8 @@ namespace OrmTest.ExpressionTest private void whereSingle4() { Expression> exp = it => (it.Id > 1 && it.Name != "a") || it.Name == "a1"; - ExpressionContext expContext = new ExpressionContext(exp, ResolveExpressType.WhereSingle); - expContext.Resolve(); + ExpressionContext expContext = new ExpressionContext(); + expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; base.Check(value, pars, " ((( Id > @Id0 ) AND ( Name <> @Name1 )) OR ( Name = @Name2 )) ", new List() { @@ -111,8 +111,8 @@ namespace OrmTest.ExpressionTest string name = "a"; WhereConst.name = "a1"; Expression> exp = it => (it.Id > 1 && it.Name != name) || it.Name == WhereConst.name; - ExpressionContext expContext = new ExpressionContext(exp, ResolveExpressType.WhereSingle); - expContext.Resolve(); + ExpressionContext expContext = new ExpressionContext(); + expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; base.Check(value, pars, " ((( Id > @Id0 ) AND ( Name <> @Name1 )) OR ( Name = @Name2 )) ", new List() { @@ -126,8 +126,8 @@ namespace OrmTest.ExpressionTest string name = "a"; WhereConst.name = "a1"; Expression> exp = it => (it.Id > 1 && it.Name != name||it.Id==1) || it.Name == WhereConst.name; - ExpressionContext expContext = new ExpressionContext(exp, ResolveExpressType.WhereSingle); - expContext.Resolve(); + ExpressionContext expContext = new ExpressionContext(); + expContext.Resolve(exp, ResolveExpressType.WhereSingle); var value = expContext.Result.GetString(); var pars = expContext.Parameters; base.Check(value, pars, " (((( Id > @Id0 ) AND ( Name <> @Name1 )) OR ( Id = @Id2 )) OR ( Name = @Name3 ))", new List() { diff --git a/OrmTest/OrmTest.csproj b/OrmTest/OrmTest.csproj index cf7b4a415..c0cf825db 100644 --- a/OrmTest/OrmTest.csproj +++ b/OrmTest/OrmTest.csproj @@ -45,6 +45,7 @@ + diff --git a/SqlSugar/Databases/SqlServer/Db/SqlBuilder/SqlServerExpressionContext.cs b/SqlSugar/Databases/SqlServer/Db/SqlBuilder/SqlServerExpressionContext.cs index f3ca2b63c..9742ba82a 100644 --- a/SqlSugar/Databases/SqlServer/Db/SqlBuilder/SqlServerExpressionContext.cs +++ b/SqlSugar/Databases/SqlServer/Db/SqlBuilder/SqlServerExpressionContext.cs @@ -12,7 +12,7 @@ namespace SqlSugar public partial class SqlServerExpressionContext : ExpressionContext, ILambdaExpressions { public SqlSugarClient Context { get; set; } - public SqlServerExpressionContext(Expression expression, ResolveExpressType resolveType) : base(expression, resolveType) + public SqlServerExpressionContext() { base.DbMehtods = new SqlServerMethod(); }