Heute mal ein “Das-passiert-mir-nicht-noch-einmal-hmpff” Thema.
Umstand: Ein Kollege hat ein WebPart erstellt, welches aufgrund einer Nutzer-Eingabe eine Linq-Abfrage auf eine SharePoint-Liste ausführte. Um die Korrektheit zu prüfen, hatte ich manuell einen Listeneintrag mit dem Titel “Test” eingetragen.
Das Problem: Das WebPart wollte einfach kein Ergebnis liefern. Selbst exzessives Logging brachte keine Aufschlüsse, warum die Linq-Abfrage das vermeintlich falsche Ergebnis - nämlich gar keins – lieferte. (Ich zweifelte schon an der Korrektheit von Linq… ;-))
Lösung: Es ist fast ein wenig peinlich und doch so lebensnah. Der Feld-Werte beinhaltete ein zusätzliches Leerzeichen am Ende, welches wahrscheinlich beim Kopieren des Wortes “Test” mit hineingeraten war. Somit war der String-Vergleich natürlich dem Untergang geweiht, da “Test” != “Test “ ist.
Fazit: So schön es war, die Lösung für dieses Problem gefunden zu haben, bleibt für mich der fade Beigeschmack, dass ich für solche Szenarien keinen Muster-Lösungsansatz parat habe, der mich beim nächsten Mal vor längerer Recherche bewahrt. - Wer also einen Tipp hat, immer her damit…