From 21f9fff33f2ae686f4a657983f4df1ba84f2c306 Mon Sep 17 00:00:00 2001 From: Jan-Willem de Bruyn Date: Thu, 21 May 2026 08:40:44 +0200 Subject: [PATCH] Dapper do not return any items when filtering on an empty array --- .../Extensions/ParameterizedQueryBuilderExtensions.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/modules/persistence/Elsa.Persistence.Dapper/Extensions/ParameterizedQueryBuilderExtensions.cs b/src/modules/persistence/Elsa.Persistence.Dapper/Extensions/ParameterizedQueryBuilderExtensions.cs index 5f18e70a..c6ccc98f 100644 --- a/src/modules/persistence/Elsa.Persistence.Dapper/Extensions/ParameterizedQueryBuilderExtensions.cs +++ b/src/modules/persistence/Elsa.Persistence.Dapper/Extensions/ParameterizedQueryBuilderExtensions.cs @@ -184,6 +184,7 @@ public static ParameterizedQuery WorkflowDefinitionSearchTerm(this Parameterized /// /// Appends an AND clause to the query if the value is not null. /// + /// If the values field is empty but not null, this adds an always false filter. /// The query. /// The field. /// The values. @@ -191,7 +192,13 @@ public static ParameterizedQuery In(this ParameterizedQuery query, string field, { var valueList = values?.ToList(); - if (valueList == null || !valueList.Any()) return query; + if (valueList == null) return query; + + if (valueList.Count == 0) + { + query.Sql.AppendLine("and 1=0"); + return query; + } var fieldParamNames = valueList .Select((_, index) => $"@{field}{index}")