diff --git a/Src/Asp.Net/SqlServerTest/Demos/8_JoinSql.cs b/Src/Asp.Net/SqlServerTest/Demos/8_JoinSql.cs index 7ffd25e08..fe2844252 100644 --- a/Src/Asp.Net/SqlServerTest/Demos/8_JoinSql.cs +++ b/Src/Asp.Net/SqlServerTest/Demos/8_JoinSql.cs @@ -20,6 +20,16 @@ namespace OrmTest.Demo SelectMerge(); ConditionalModel(); JoinExp(); + Clone(); + } + + private static void Clone() + { + //var db = GetInstance(); + //var qy = db.Queryable().Where(it => 1 == 1); + + //var list1 =qy.Clone().Where(it => it.Id == 1).ToList(); + //var list2 = qy.Clone().Where(it => it.Id == 2).ToList(); } private static void JoinExp() diff --git a/Src/Asp.Net/SqlSugar/Infrastructure/SqlSugarAccessory.cs b/Src/Asp.Net/SqlSugar/Infrastructure/SqlSugarAccessory.cs index f945fbdc2..67252244c 100644 --- a/Src/Asp.Net/SqlSugar/Infrastructure/SqlSugarAccessory.cs +++ b/Src/Asp.Net/SqlSugar/Infrastructure/SqlSugarAccessory.cs @@ -247,12 +247,12 @@ namespace SqlSugar #endregion #region Create Instance - protected ISugarQueryable CreateQueryable() where T : class, new() + protected ISugarQueryable CreateQueryable() { ISugarQueryable result = InstanceFactory.GetQueryable(this.CurrentConnectionConfig); return CreateQueryable(result); } - protected ISugarQueryable CreateQueryable(ISugarQueryable result) where T : class, new() + protected ISugarQueryable CreateQueryable(ISugarQueryable result) { var sqlBuilder = InstanceFactory.GetSqlbuilder(CurrentConnectionConfig); result.Context = this.Context; @@ -308,7 +308,7 @@ namespace SqlSugar return result; } - protected void CreateQueryJoin(Expression joinExpression, Type[] types, ISugarQueryable queryable) where T : class, new() + protected void CreateQueryJoin(Expression joinExpression, Type[] types, ISugarQueryable queryable) { this.CreateQueryable(queryable); string shortName = string.Empty; @@ -321,7 +321,7 @@ namespace SqlSugar queryable.SqlBuilder.QueryBuilder.Parameters.AddRange(paramters); } } - protected void CreateEasyQueryJoin(Expression joinExpression, Type[] types, ISugarQueryable queryable) where T : class, new() + protected void CreateEasyQueryJoin(Expression joinExpression, Type[] types, ISugarQueryable queryable) { this.CreateQueryable(queryable); string shortName = string.Empty; diff --git a/Src/Asp.Net/SqlSugar/SqlSugarClient.cs b/Src/Asp.Net/SqlSugar/SqlSugarClient.cs index 457efd0f0..7fd4259bc 100644 --- a/Src/Asp.Net/SqlSugar/SqlSugarClient.cs +++ b/Src/Asp.Net/SqlSugar/SqlSugarClient.cs @@ -104,7 +104,7 @@ namespace SqlSugar /// /// Lambda Query operation /// - public virtual ISugarQueryable Queryable() where T : class, new() + public virtual ISugarQueryable Queryable() { InitMppingInfo(); @@ -114,7 +114,7 @@ namespace SqlSugar /// /// Lambda Query operation /// - public virtual ISugarQueryable Queryable(string shortName) where T : class, new() + public virtual ISugarQueryable Queryable(string shortName) { var queryable = Queryable(); queryable.SqlBuilder.QueryBuilder.TableShortName = shortName; @@ -130,7 +130,7 @@ namespace SqlSugar queryable.SqlBuilder.QueryBuilder.TableShortName = shortName; return queryable; } - public virtual ISugarQueryable Queryable(Expression> joinExpression) where T : class, new() + public virtual ISugarQueryable Queryable(Expression> joinExpression) { InitMppingInfo(); var types = new Type[] { typeof(T2) }; @@ -138,7 +138,7 @@ namespace SqlSugar this.CreateQueryJoin(joinExpression, types, queryable); return queryable; } - public virtual ISugarQueryable Queryable(Expression> joinExpression) where T : class, new() + public virtual ISugarQueryable Queryable(Expression> joinExpression) { InitMppingInfo(); var types = new Type[] { typeof(T2), typeof(T3) }; @@ -146,7 +146,7 @@ namespace SqlSugar this.CreateQueryJoin(joinExpression, types, queryable); return queryable; } - public virtual ISugarQueryable Queryable(Expression> joinExpression) where T : class, new() + public virtual ISugarQueryable Queryable(Expression> joinExpression) { InitMppingInfo(); var types = new Type[] { typeof(T2), typeof(T3), typeof(T4) }; @@ -154,7 +154,7 @@ namespace SqlSugar this.CreateQueryJoin(joinExpression, types, queryable); return queryable; } - public virtual ISugarQueryable Queryable(Expression> joinExpression) where T : class, new() + public virtual ISugarQueryable Queryable(Expression> joinExpression) { InitMppingInfo(); var types = new Type[] { typeof(T2), typeof(T3), typeof(T4), typeof(T5) }; @@ -162,7 +162,7 @@ namespace SqlSugar this.CreateQueryJoin(joinExpression, types, queryable); return queryable; } - public virtual ISugarQueryable Queryable(Expression> joinExpression) where T : class, new() + public virtual ISugarQueryable Queryable(Expression> joinExpression) { InitMppingInfo(); var types = new Type[] { typeof(T2), typeof(T3), typeof(T4), typeof(T5), typeof(T6) }; @@ -170,7 +170,7 @@ namespace SqlSugar this.CreateQueryJoin(joinExpression, types, queryable); return queryable; } - public virtual ISugarQueryable Queryable(Expression> joinExpression) where T : class, new() + public virtual ISugarQueryable Queryable(Expression> joinExpression) { InitMppingInfo(); var types = new Type[] { typeof(T2), typeof(T3), typeof(T4), typeof(T5), typeof(T6), typeof(T7) }; @@ -178,7 +178,7 @@ namespace SqlSugar this.CreateQueryJoin(joinExpression, types, queryable); return queryable; } - public virtual ISugarQueryable Queryable(Expression> joinExpression) where T : class, new() + public virtual ISugarQueryable Queryable(Expression> joinExpression) { InitMppingInfo(); var types = new Type[] { typeof(T2), typeof(T3), typeof(T4), typeof(T5), typeof(T6), typeof(T7), typeof(T8) }; @@ -187,7 +187,7 @@ namespace SqlSugar return queryable; } #region 9-12 - public virtual ISugarQueryable Queryable(Expression> joinExpression) where T : class, new() + public virtual ISugarQueryable Queryable(Expression> joinExpression) { InitMppingInfo(); var types = new Type[] { typeof(T2), typeof(T3), typeof(T4), typeof(T5), typeof(T6), typeof(T7), typeof(T8), typeof(T9) }; @@ -195,7 +195,7 @@ namespace SqlSugar this.CreateQueryJoin(joinExpression, types, queryable); return queryable; } - public virtual ISugarQueryable Queryable(Expression> joinExpression) where T : class, new() + public virtual ISugarQueryable Queryable(Expression> joinExpression) { InitMppingInfo(); var types = new Type[] { typeof(T2), typeof(T3), typeof(T4), typeof(T5), typeof(T6), typeof(T7), typeof(T8), typeof(T9), typeof(T10) }; @@ -203,7 +203,7 @@ namespace SqlSugar this.CreateQueryJoin(joinExpression, types, queryable); return queryable; } - public virtual ISugarQueryable Queryable(Expression> joinExpression) where T : class, new() + public virtual ISugarQueryable Queryable(Expression> joinExpression) { InitMppingInfo(); var types = new Type[] { typeof(T2), typeof(T3), typeof(T4), typeof(T5), typeof(T6), typeof(T7), typeof(T8), typeof(T9), typeof(T10), typeof(T11) }; @@ -211,7 +211,7 @@ namespace SqlSugar this.CreateQueryJoin(joinExpression, types, queryable); return queryable; } - public virtual ISugarQueryable Queryable(Expression> joinExpression) where T : class, new() + public virtual ISugarQueryable Queryable(Expression> joinExpression) { InitMppingInfo(); var types = new Type[] { typeof(T2), typeof(T3), typeof(T4), typeof(T5), typeof(T6), typeof(T7), typeof(T8), typeof(T9), typeof(T10), typeof(T11), typeof(T12) };