diff --git a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs index ae3b3895b..4eaf5d379 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/QueryableProvider/QueryableProvider.cs @@ -645,7 +645,11 @@ namespace SqlSugar this.Where(whereString, whereObj); return this; } - + public virtual ISugarQueryable Where(IFuncModel funcModel) + { + var obj= this.SqlBuilder.FuncModelToSql(funcModel); + return this.Where(obj.Key, obj.Value); + } public virtual ISugarQueryable Where(List conditionalModels) { if (conditionalModels.IsNullOrEmpty()) return this; @@ -3626,7 +3630,11 @@ namespace SqlSugar base.Where(conditionalModels); return this; } - + public new ISugarQueryable Where(IFuncModel funcModel) + { + var obj = this.SqlBuilder.FuncModelToSql(funcModel); + return this.Where(obj.Key, obj.Value); + } public new ISugarQueryable WhereIF(bool isWhere, string whereString, object whereObj) { if (!isWhere) return this; @@ -4233,7 +4241,11 @@ namespace SqlSugar base.Where(conditionalModels); return this; } - + public new ISugarQueryable Where(IFuncModel funcModel) + { + var obj = this.SqlBuilder.FuncModelToSql(funcModel); + return this.Where(obj.Key, obj.Value); + } public ISugarQueryable WhereIF(bool isWhere, Expression> expression) { if (isWhere) @@ -4619,7 +4631,11 @@ namespace SqlSugar base.Where(conditionalModels); return this; } - + public new ISugarQueryable Where(IFuncModel funcModel) + { + var obj = this.SqlBuilder.FuncModelToSql(funcModel); + return this.Where(obj.Key, obj.Value); + } public new ISugarQueryable WhereIF(bool isWhere, Expression> expression) { if (isWhere) @@ -5229,7 +5245,11 @@ namespace SqlSugar base.Where(conditionalModels); return this; } - + public new ISugarQueryable Where(IFuncModel funcModel) + { + var obj = this.SqlBuilder.FuncModelToSql(funcModel); + return this.Where(obj.Key, obj.Value); + } public new ISugarQueryable WhereIF(bool isWhere, Expression> expression) { if (isWhere) @@ -5778,7 +5798,11 @@ namespace SqlSugar base.Where(conditionalModels); return this; } - + public new ISugarQueryable Where(IFuncModel funcModel) + { + var obj = this.SqlBuilder.FuncModelToSql(funcModel); + return this.Where(obj.Key, obj.Value); + } public new ISugarQueryable WhereIF(bool isWhere, Expression> expression) { if (isWhere) diff --git a/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs b/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs index 3ec459521..ee955aa93 100644 --- a/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs +++ b/Src/Asp.Net/SqlSugar/Interface/IQueryable.cs @@ -61,6 +61,7 @@ namespace SqlSugar ISugarQueryable TranLock(DbLockType? LockType = DbLockType.Wait); ISugarQueryable Where(Expression> expression); ISugarQueryable Where(string whereString, object parameters = null); + ISugarQueryable Where(IFuncModel funcModel); ISugarQueryable Where(List conditionalModels); ISugarQueryable Where(List conditionalModels,bool isWrap); ISugarQueryable Where(string fieldName, string conditionalType, object fieldValue); @@ -220,6 +221,7 @@ namespace SqlSugar new ISugarQueryable Where(Expression> expression); ISugarQueryable Where(Expression> expression); new ISugarQueryable Where(List conditionalModels); + new ISugarQueryable Where(IFuncModel funcModel); new ISugarQueryable WhereIF(bool isWhere, Expression> expression); ISugarQueryable WhereIF(bool isWhere, Expression> expression); @@ -319,7 +321,7 @@ namespace SqlSugar ISugarQueryable Where(Expression> expression); ISugarQueryable Where(Expression> expression); new ISugarQueryable Where(List conditionalModels); - + new ISugarQueryable Where(IFuncModel funcModel); new ISugarQueryable WhereIF(bool isWhere, Expression> expression); ISugarQueryable WhereIF(bool isWhere, Expression> expression); ISugarQueryable WhereIF(bool isWhere, Expression> expression); @@ -434,7 +436,7 @@ namespace SqlSugar ISugarQueryable Where(Expression> expression); ISugarQueryable Where(Expression> expression); new ISugarQueryable Where(List conditionalModels); - + new ISugarQueryable Where(IFuncModel funcModel); new ISugarQueryable WhereIF(bool isWhere, Expression> expression); ISugarQueryable WhereIF(bool isWhere, Expression> expression); ISugarQueryable WhereIF(bool isWhere, Expression> expression); @@ -560,7 +562,7 @@ namespace SqlSugar ISugarQueryable Where(Expression> expression); new ISugarQueryable Where(List conditionalModels); - + new ISugarQueryable Where(IFuncModel funcModel); new ISugarQueryable WhereIF(bool isWhere, Expression> expression); ISugarQueryable WhereIF(bool isWhere, Expression> expression); ISugarQueryable WhereIF(bool isWhere, Expression> expression); @@ -678,7 +680,7 @@ namespace SqlSugar ISugarQueryable Where(Expression> expression); ISugarQueryable Where(Expression> expression); new ISugarQueryable Where(List conditionalModels); - + new ISugarQueryable Where(IFuncModel funcModel); new ISugarQueryable WhereIF(bool isWhere, Expression> expression); ISugarQueryable WhereIF(bool isWhere, Expression> expression); ISugarQueryable WhereIF(bool isWhere, Expression> expression); diff --git a/Src/Asp.Net/SqlSugar/Json2Sql/ModelToSql/SqlPart.cs b/Src/Asp.Net/SqlSugar/Json2Sql/ModelToSql/SqlPart.cs index 153ed3b09..95d0ce10c 100644 --- a/Src/Asp.Net/SqlSugar/Json2Sql/ModelToSql/SqlPart.cs +++ b/Src/Asp.Net/SqlSugar/Json2Sql/ModelToSql/SqlPart.cs @@ -8,7 +8,7 @@ namespace SqlSugar public abstract partial class SqlBuilderProvider : SqlBuilderAccessory, ISqlBuilder { #region Variable - private string[] SqlSplicingOperator = new string[] { ">", ">=", "<", "<=", "(", ")", "=", "||", "&&","&","|" }; + private string[] SqlSplicingOperator = new string[] { ">", ">=", "<", "<=", "(", ")", "=", "||", "&&","&","|","null","is","isnot" }; #endregion #region Root