chore(sonar): suppress CS8601 in QueryBreakdownMapper with justification

CS8601 is reported via external_roslyn on the SonarQube server, which does
not expose transitions for external-analyzer issues — so a server-side
Won't Fix is not available. Silence locally with a narrow pragma so the
issue stops appearing in subsequent scans.

Justification: Parameters is Dictionary<string, object> (non-nullable
value annotation), but a SQL parameter value can legitimately be null.
The proper fix is to widen the public dictionary value type to object?,
which ripples through every consumer of QueryBreakdown.Parameters —
deferred to a separate change.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Thom Lamb
2026-05-26 10:03:34 -05:00
co-authored by Claude Opus 4.7
parent d92996bd2e
commit 3c8148a6b1
@@ -166,7 +166,9 @@ public class QueryBreakdownMapper : IQueryBreakdownMapper
? paramEntity.ParameterName
: $"@{paramEntity.ParameterName}";
#pragma warning disable CS8601 // Parameters is Dictionary<string, object> but SQL parameter values can legitimately be null; widening the public dict value type is a broad ripple, deferred.
queryBreakdown.Parameters[key] = DeserializeParameterValue(paramEntity);
#pragma warning restore CS8601
}
}