OData v4 - Verwendung von Leer-String als Wert bei IN-Operator

Lucas Roth 5 Zuverlässigkeitspunkte
2026-01-05T15:42:32.72+00:00

Guten Tag

Wir verwenden ASP.NET Core in Kombination mit der OData v4 Implementation. Wir mussten feststellen, dass der Wert '' beim IN-Operator nicht wie erwartet unterstützt wird. Der Leer-String wird bei der Auswertung komplett ignoriert.

Das Query sollte Einträge liefern, die im Feld "status" einen Leer-Wert oder den Wert 'DONE' beinhalten. Allerdings liefert das Query nur Einträge, die den Wert 'DONE' besitzen.

Interessanterweise liefert das Query die Einträge mit den Leerwerten, wenn stattdessen ' ' verwendet wird.

$filter=status in ('DONE', '') => funktioniert nicht

$filter=status in ('DONE', ' ') => funktioniert

Handelt es sich hier um einen Bug in der Implementation oder ist das ein bewusstes Verhalten?
Was ist der Hintergrund, falls es sich um ein bewusstes Verhalten handelt?

Wir verwenden ASP.NET Core 10 und [email protected]

Für die Datenbank verwenden wir [email protected]

Danke und freundliche Grüsse

Entwicklertechnologien | ASP.NET Core | Andere
0 Kommentare Keine Kommentare

Ihre Antwort

Antworten können von Fragestellenden als „Angenommen“ und von Moderierenden als „Empfohlen“ gekennzeichnet werden, wodurch Benutzende wissen, dass diese Antwort das Problem des Fragestellenden gelöst hat.