From 68e93c540234d24cd5b2daee1c0ca5f9773620ab Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Sun, 1 Aug 2021 17:27:49 +0800 Subject: [PATCH] Update Core --- .../Abstract/DeleteProvider/DeleteableProvider.cs | 7 +++++++ .../Abstract/UpdateProvider/UpdateableProvider.cs | 8 ++++++++ .../SqlSeverTest/SqlSugar/Entities/ConditionalModel.cs | 1 + .../SqlSeverTest/SqlSugar/Interface/IDeleteable.cs | 1 + .../SqlSeverTest/SqlSugar/Interface/IUpdateable.cs | 1 + Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugar.csproj | 2 +- .../SqlSeverTest/SqlSugar/SqlSugarForCore.nuspec | 2 +- .../SqlSugar/SqlSugarForCoreMySqlConnector.nuspec | 2 +- .../SqlSeverTest/SqlSugar/SqlSugarForCoreNoDrive.nuspec | 2 +- 9 files changed, 22 insertions(+), 4 deletions(-) diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs index 43a25a86d..311aac329 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs @@ -220,6 +220,13 @@ namespace SqlSugar DeleteBuilder.Parameters.AddRange(parameters); return this; } + public IDeleteable Where(List conditionalModels) + { + var sql = this.Context.Queryable().SqlBuilder.ConditionalModelToSql(conditionalModels); + var result = this; + result.Where(sql.Key, sql.Value); + return result; + } public IDeleteable WhereColumns(Expression> columns) { diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs index 9428a7554..92f3eae4f 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/UpdateProvider/UpdateableProvider.cs @@ -367,6 +367,14 @@ namespace SqlSugar this.UpdateBuilder.Parameters.Add(new SugarParameter(parameterName, fieldValue)); return this; } + public IUpdateable Where(List conditionalModels) + { + Check.Exception(UpdateObjectNotWhere() && UpdateObjs.Length > 1, ErrorMessage.GetThrowMessage("update List no support where", "集合更新不支持Where请使用WhereColumns")); + var sql = this.Context.Queryable().SqlBuilder.ConditionalModelToSql(conditionalModels); + var result = this; + result.Where(sql.Key, sql.Value); + return result; + } #endregion #region Helper diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Entities/ConditionalModel.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Entities/ConditionalModel.cs index 3d58da69e..a22490d40 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Entities/ConditionalModel.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Entities/ConditionalModel.cs @@ -22,6 +22,7 @@ namespace SqlSugar public string FieldName { get; set; } public string FieldValue { get; set; } public ConditionalType ConditionalType { get; set; } + [Newtonsoft.Json.JsonIgnoreAttribute] public Func FieldValueConvertFunc { get; set; } } } diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Interface/IDeleteable.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Interface/IDeleteable.cs index db3006695..de915547e 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Interface/IDeleteable.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Interface/IDeleteable.cs @@ -30,6 +30,7 @@ namespace SqlSugar IDeleteable Where(string whereString, SugarParameter[] parameters); IDeleteable Where(string whereString, List parameters); IDeleteable WhereColumns(Expression> columns); + IDeleteable Where(List conditionalModels); IDeleteable EnableDiffLogEvent(object businessData = null); IDeleteable RemoveDataCache(); IDeleteable RemoveDataCache(string likeString); diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Interface/IUpdateable.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Interface/IUpdateable.cs index 199b927b2..99129fbc2 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Interface/IUpdateable.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Interface/IUpdateable.cs @@ -43,6 +43,7 @@ namespace SqlSugar IUpdateable WhereColumns(Expression> columns); IUpdateable WhereColumns(string columnName); IUpdateable WhereColumns(params string [] columnNames); + IUpdateable Where(List conditionalModels); /// /// .UpdateColumns(it=>new{ it.Name,it.Price}) diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugar.csproj b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugar.csproj index d7718ce0f..d7c3841b8 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugar.csproj +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugar.csproj @@ -2,7 +2,7 @@ netstandard2.0 - 5.0.3.4 + 5.0.3.5 sun_kai_xuan https://github.com/sunkaixuan/SqlSugar diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugarForCore.nuspec b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugarForCore.nuspec index f7097ea44..7382441d4 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugarForCore.nuspec +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugarForCore.nuspec @@ -2,7 +2,7 @@ SqlSugarCore - 5.0.3.4 + 5.0.3.5 sunkaixuan Landa http://www.apache.org/licenses/LICENSE-2.0.html diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugarForCoreMySqlConnector.nuspec b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugarForCoreMySqlConnector.nuspec index 8f8d2bc5a..59ea80ce2 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugarForCoreMySqlConnector.nuspec +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugarForCoreMySqlConnector.nuspec @@ -2,7 +2,7 @@ SqlSugarCore.MySqlConnector - 5.0.3.4 + 5.0.3.5 sunkaixuan Landa http://www.apache.org/licenses/LICENSE-2.0.html diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugarForCoreNoDrive.nuspec b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugarForCoreNoDrive.nuspec index 1a8b89cf3..c56c5a75d 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugarForCoreNoDrive.nuspec +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/SqlSugarForCoreNoDrive.nuspec @@ -2,7 +2,7 @@ SqlSugarCoreNoDrive - 5.0.3.4 + 5.0.3.5 sunkaixuan Landa http://www.apache.org/licenses/LICENSE-2.0.html