From c3eb2f08b4aaecd5dbe5bf9dd3f2a017c4fba9eb Mon Sep 17 00:00:00 2001 From: aw0lid Date: Sat, 18 Apr 2026 02:05:21 +0200 Subject: [PATCH] Fix invalid SQL parameter names for query filters with primary constructors --- src/EFCore/Query/Internal/ExpressionTreeFuncletizer.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EFCore/Query/Internal/ExpressionTreeFuncletizer.cs b/src/EFCore/Query/Internal/ExpressionTreeFuncletizer.cs index 0f4c0c5602e..532563bc934 100644 --- a/src/EFCore/Query/Internal/ExpressionTreeFuncletizer.cs +++ b/src/EFCore/Query/Internal/ExpressionTreeFuncletizer.cs @@ -2145,7 +2145,7 @@ bool PreserveConvertNode(Expression expression) if (visited != expression) { parameterName = QueryFilterPrefix - + (RemoveConvert(expression) is MemberExpression { Member.Name: var memberName } ? ("__" + memberName) : "__p"); + + (RemoveConvert(expression) is MemberExpression { Member.Name: var memberName } ? ("__" + SanitizeCompilerGeneratedName(memberName)) : "__p"); isContextAccessor = true; // Context accessors (query filters accessing the context) never get constantized