diff --git a/OrmTest/UnitTest/Query/SelectQuery.cs b/OrmTest/UnitTest/Query/SelectQuery.cs index 393c32b22..41b429f37 100644 --- a/OrmTest/UnitTest/Query/SelectQuery.cs +++ b/OrmTest/UnitTest/Query/SelectQuery.cs @@ -36,9 +36,11 @@ namespace OrmTest.UnitTest //var list2 = db.Queryable() // .Where(st => st.Id > 0) // .Select("id").ToList(); - var list = db.Queryable((st, sc) => new object[] { - JoinType.Left,st.SchoolId==sc.Id - }).Where(st => st.Id > 0).Select("*").ToList(); + + var list = db.Queryable((st, sc,sc2) => new object[] { + JoinType.Left,st.SchoolId==sc.Id, + JoinType.Left,sc2.Id==sc.Id + }).Where(st => st.Id > 0).ToList(); var list3 = db.Queryable("Student", "st") .AddJoinInfo("School", "sh", "sh.id=st.schoolid") diff --git a/SqlSugar/Abstract/SqlBuilderProvider/DMLBuilder/SqlableQueryBuilder.cs b/SqlSugar/Abstract/SqlBuilderProvider/DMLBuilder/SqlableQueryBuilder.cs deleted file mode 100644 index 8b25761f3..000000000 --- a/SqlSugar/Abstract/SqlBuilderProvider/DMLBuilder/SqlableQueryBuilder.cs +++ /dev/null @@ -1,67 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace SqlSugar -{ - public class SqlableQueryBuilder : IDMLBuilder - { - public SqlBuilderProvider BuilderConext - { - get - { - throw new NotImplementedException(); - } - - set - { - throw new NotImplementedException(); - } - } - - public SqlSugarClient Context - { - get - { - throw new NotImplementedException(); - } - - set - { - throw new NotImplementedException(); - } - } - - public StringBuilder Sql - { - get - { - throw new NotImplementedException(); - } - - set - { - throw new NotImplementedException(); - } - } - - public string SqlTemplate - { - get - { - throw new NotImplementedException(); - } - } - - public void Clear() - { - throw new NotImplementedException(); - } - - public string ToSqlString() - { - throw new NotImplementedException(); - } - } -} diff --git a/SqlSugar/Abstract/SqlableProvider.cs b/SqlSugar/Abstract/SqlableProvider.cs deleted file mode 100644 index 463dfb556..000000000 --- a/SqlSugar/Abstract/SqlableProvider.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace SqlSugar -{ - public partial class SqlableProvider : ISugarSqlable - { - public SqlSugarClient Context { get; set; } - } -} diff --git a/SqlSugar/Databases/SqlServer/Sqlable/SqlServerSqlable.cs b/SqlSugar/Databases/SqlServer/Sqlable/SqlServerSqlable.cs deleted file mode 100644 index 1e0429136..000000000 --- a/SqlSugar/Databases/SqlServer/Sqlable/SqlServerSqlable.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace SqlSugar -{ - public class SqlServerSqlable:SqlableProvider - { - } -} diff --git a/SqlSugar/InstanceFactory.cs b/SqlSugar/InstanceFactory.cs index a44f61c7f..d590cc1ca 100644 --- a/SqlSugar/InstanceFactory.cs +++ b/SqlSugar/InstanceFactory.cs @@ -33,14 +33,6 @@ namespace SqlSugar return reval; } - - public static ISugarSqlable GetSqlable(IConnectionConfig currentConnectionConfig) - { - CheckConfig(currentConnectionConfig); - ISugarSqlable reval = CreateInstance(GetClassName(currentConnectionConfig.DbType, "Sqlable"), currentConnectionConfig.DbType); - return reval; - } - public static ISqlBuilder GetSqlbuilder(IConnectionConfig currentConnectionConfig) { CheckConfig(currentConnectionConfig); diff --git a/SqlSugar/Interface/ISqlable.cs b/SqlSugar/Interface/ISqlable.cs deleted file mode 100644 index 5e9346b3b..000000000 --- a/SqlSugar/Interface/ISqlable.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace SqlSugar -{ - public partial interface ISugarSqlable - { - SqlSugarClient Context { get; set; } - } -} diff --git a/SqlSugar/SqlSugar.csproj b/SqlSugar/SqlSugar.csproj index 9a825f68c..c2c32c90a 100644 --- a/SqlSugar/SqlSugar.csproj +++ b/SqlSugar/SqlSugar.csproj @@ -57,11 +57,9 @@ - - @@ -85,7 +83,6 @@ - @@ -139,7 +136,6 @@ - diff --git a/SqlSugar/SqlSugarClient.cs b/SqlSugar/SqlSugarClient.cs index ce166872a..22843224c 100644 --- a/SqlSugar/SqlSugarClient.cs +++ b/SqlSugar/SqlSugarClient.cs @@ -153,9 +153,13 @@ namespace SqlSugar queryable.SqlBuilder.LambadaQueryBuilder.TableShortName=shortName; return queryable; } - public virtual ISugarQueryable Queryable(Func joinExpression) where T : class, new() + public virtual ISugarQueryable Queryable(Expression> joinExpression) where T : class, new() { - return null; + var queryable = Queryable(); + string shortName = string.Empty; + queryable.SqlBuilder.LambadaQueryBuilder.JoinQueryInfos = base.GetJoinInfos(joinExpression, this, ref shortName, typeof(T2),typeof(T3)); + queryable.SqlBuilder.LambadaQueryBuilder.TableShortName = shortName; + return queryable; } public virtual List Queryable(Func joinExpression) where T : class, new() { @@ -185,23 +189,6 @@ namespace SqlSugar { return null; } - /// - /// Sqlable Query operation - /// - public virtual ISugarSqlable Sqlable - { - get - { - if (_Sqlable == null) - { - var reval = InstanceFactory.GetSqlable(base.CurrentConnectionConfig); - reval.Context = this; - _Sqlable = reval; - return reval; - } - return (ISugarSqlable)_Sqlable; - } - } #endregion #region functions