diff --git a/OrmTest/OrmTest.csproj b/OrmTest/OrmTest.csproj
index 2b0189d05..9e057de78 100644
--- a/OrmTest/OrmTest.csproj
+++ b/OrmTest/OrmTest.csproj
@@ -46,10 +46,11 @@
-
+
-
+
+
diff --git a/OrmTest/Program.cs b/OrmTest/Program.cs
index 0b5cd574a..67636495f 100644
--- a/OrmTest/Program.cs
+++ b/OrmTest/Program.cs
@@ -11,18 +11,18 @@ using System.Data.SqlClient;
using OrmTest.UnitTest;
namespace OrmTest
{
-
class Program
{
static void Main(string[] args)
{
- //Expression To Sql Unit Test
+ //Unit Test
int eachCount = 1;
new Field(eachCount).Init();
new Where(eachCount).Init();
new Method(eachCount).Init();
new JoinQuery(eachCount).Init();
new SingleQuery(eachCount).Init();
+ new SingleQuery(eachCount).Init();
}
}
}
diff --git a/OrmTest/UnitTest/Query/JoinQuery.cs b/OrmTest/UnitTest/Query/JoinQuery.cs
new file mode 100644
index 000000000..967f08801
--- /dev/null
+++ b/OrmTest/UnitTest/Query/JoinQuery.cs
@@ -0,0 +1,60 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using SqlSugar;
+using System.Linq.Expressions;
+using OrmTest.Models;
+namespace OrmTest.UnitTest
+{
+ public class JoinQuery : ExpTestBase
+ {
+ private JoinQuery() { }
+ public JoinQuery(int eachCount)
+ {
+ this.Count = eachCount;
+ }
+ internal void Init()
+ {
+ base.Begin();
+ for (int i = 0; i < base.Count; i++)
+ {
+ Q1();
+ Q2();
+ }
+ base.End("Method Test");
+ }
+
+ public void Q1()
+ {
+ using (var db = GetInstance())
+ {
+ var list = db.Queryable((st, sc) => new object[] {
+ JoinType.Left,st.SchoolId==sc.Id
+ }).Where(st => st.Id > 0).Select("*").ToList();
+ }
+ }
+ public void Q2()
+ {
+ using (var db = GetInstance())
+ {
+ var list = db.Queryable((st, sc) => new object[] {
+ JoinType.Left,st.SchoolId==sc.Id
+ }).Where(st=>st.Id>0).Select("*").ToList();
+ }
+ }
+
+
+ public SqlSugarClient GetInstance()
+ {
+ SqlSugarClient db = new SqlSugarClient(new SystemTablesConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer });
+ db.Database.IsEnableLogEvent = true;
+ db.Database.LogEventStarting = (sql, pars) =>
+ {
+ Console.WriteLine(sql+" "+pars);
+ };
+ return db;
+ }
+ }
+}
diff --git a/OrmTest/UnitTest/Query/Join.cs b/OrmTest/UnitTest/Query/SelectQuery.cs
similarity index 73%
rename from OrmTest/UnitTest/Query/Join.cs
rename to OrmTest/UnitTest/Query/SelectQuery.cs
index 8f3a7e522..3b42c9949 100644
--- a/OrmTest/UnitTest/Query/Join.cs
+++ b/OrmTest/UnitTest/Query/SelectQuery.cs
@@ -8,10 +8,10 @@ using System.Linq.Expressions;
using OrmTest.Models;
namespace OrmTest.UnitTest
{
- public class JoinQuery : ExpTestBase
+ public class SelectQuery : ExpTestBase
{
- private JoinQuery() { }
- public JoinQuery(int eachCount)
+ private SelectQuery() { }
+ public SelectQuery(int eachCount)
{
this.Count = eachCount;
}
@@ -29,13 +29,10 @@ namespace OrmTest.UnitTest
{
using (var db = GetInstance())
{
- var list = db.Queryable((st, sc) => new object[] {
- JoinType.Left,st.SchoolId==sc.Id
- }).Where(st=>st.Id>0).ToList();
+ var list = db.Queryable().Where(st => st.Id > 0).ToList();
}
}
-
public SqlSugarClient GetInstance()
{
SqlSugarClient db = new SqlSugarClient(new SystemTablesConfig() { ConnectionString = Config.ConnectionString, DbType = DbType.SqlServer });
diff --git a/OrmTest/UnitTest/Query/Single.cs b/OrmTest/UnitTest/Query/SingleQuery.cs
similarity index 100%
rename from OrmTest/UnitTest/Query/Single.cs
rename to OrmTest/UnitTest/Query/SingleQuery.cs
diff --git a/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs b/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs
index 348b8637e..e8aa08953 100644
--- a/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs
+++ b/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs
@@ -207,12 +207,17 @@ namespace SqlSugar
public ISugarQueryable Select(Expression> expression) where TResult : class, new()
{
var reval = InstanceFactory.GetQueryable(this.Context.CurrentConnectionConfig);
+ reval.Context = this.Context;
+ reval.Pars = this.Pars;
return reval;
}
public ISugarQueryable Select(string selectValue) where TResult : class, new()
{
var reval = InstanceFactory.GetQueryable(this.Context.CurrentConnectionConfig);
+ reval.Context = this.Context;
+ reval.Context.SqlBuilder.LambadaQueryBuilder.SelectValue = selectValue;
+ reval.Pars = this.Pars;
return reval;
}