Linq - SQL isNull



  • Hallo,

    gibt es ein Äquivalent zu der SQL -Funktion isNull in linq?

    Ich würde gerne in der WHERE-Bedinung die ISNULL-Funktion verwenden, damit bei der Abfrage aus dem NULL-Wert ein leerer String wird (''). Ziel ist, dass auch Datenfelder mit NULL gefunden werden, wenn ich einen leeren String übergebe.

    SELECT a FROM x WHERE ISNULL(a,'') LIKE '%%'
    

    Danke für euer Feedback 🙂

    LG, Auraya



  • Linq selber bietet hier nichts AFAIK.
    Aber du kannst, wenn du zB in C# programmierst den Operator ?? mal probieren...

    Also

    from a in x where foo select a ?? ""
    

    PS:
    vergiss es, ich habe deine Frage falsch verstanden.
    Das würde ich einfach per OR lösen.



  • Also ich habe es jetzt mit IsNullOrEmpty-Methode der String-Klasse gelöst:

    Wenn der übergebene String-Parameter "_a" leer ist, dann soll er mir die Werte mit NULL ODER mit Inhalt ausgeben, ansonsten wird nur die Contains-Funktion auf das Datenfeld angewendet.

    from colA in tabelleX where
    
    (string.IsNullOrEmpty(_a) ? (tabelleX.colA == null || tabelleX.colA.Contains(_a)) : tabelleX.colA.Contains(_a))
    

    Oder habe ich hier einen Denkfehler gemacht?


Anmelden zum Antworten