diff --git a/Src/Asp.Net/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs b/Src/Asp.Net/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs index bc9840690..c25588f01 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/DeleteProvider/DeleteableProvider.cs @@ -516,6 +516,15 @@ namespace SqlSugar tempPrimaryKeys = null; return this; } + + public IDeleteable In(Expression> inField, ISugarQueryable childQueryExpression) + { + var lamResult = DeleteBuilder.GetExpressionValue(inField, ResolveExpressType.FieldSingle); + var fieldName = lamResult.GetResultString(); + var sql= childQueryExpression.ToSql(); + Where($" {fieldName} IN ( {sql.Key} ) ",sql.Value); + return this; + } public IDeleteable In(string inField, List primaryKeyValues) { tempPrimaryKeys = new List() { inField }; diff --git a/Src/Asp.Net/SqlSugar/Interface/IDeleteable.cs b/Src/Asp.Net/SqlSugar/Interface/IDeleteable.cs index 2c2ce427b..36239acde 100644 --- a/Src/Asp.Net/SqlSugar/Interface/IDeleteable.cs +++ b/Src/Asp.Net/SqlSugar/Interface/IDeleteable.cs @@ -29,6 +29,8 @@ namespace SqlSugar IDeleteable In(Expression> inField,PkType primaryKeyValue); IDeleteable In(Expression> inField,PkType[] primaryKeyValues); IDeleteable In(Expression> inField,List primaryKeyValues); + IDeleteable In(Expression> inField, ISugarQueryable childQueryExpression); + IDeleteable In(string inField, List primaryKeyValues); IDeleteable Where(string whereString,object parameters=null); IDeleteable Where(string whereString, SugarParameter parameter);