diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/OneToManyNavgateExpression.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/OneToManyNavgateExpression.cs index 3d21eade7..5021fa9ec 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/OneToManyNavgateExpression.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/ResolveItems/OneToManyNavgateExpression.cs @@ -163,6 +163,18 @@ namespace SqlSugar mappingA = queryable.QueryBuilder.Builder.GetTranslationColumnName(mappingA); mappingB = queryable.QueryBuilder.Builder.GetTranslationColumnName(mappingB); var bTableName = queryable.QueryBuilder.Builder.GetTranslationTableName(this.ProPertyEntity.DbTableName); + + var queryBuilerAB=this.context.Queryable().QueryBuilder; + var filters= queryBuilerAB.GetFilters(mappingType); + if (filters.HasValue()) + { + aPk += " AND " + filters; + if (queryBuilerAB.Parameters != null) + { + this.methodCallExpressionResolve.Context.Parameters.AddRange(queryBuilerAB.Parameters); + } + } + mapper.Sql = $" (select {(MethodName == "Any" ? "1":" COUNT(1) ")} from {bTableName} {this.ProPertyEntity.DbTableName}_1 where {this.ProPertyEntity.DbTableName}_1.{bPk} in (select {mappingB} from {mappingTableName} where {mappingA} = {ShorName}.{aPk} ) )"; if (this.whereSql.HasValue()) {