Maison >base de données >tutoriel mysql >Comment gérer les valeurs nullables dans les requêtes LINQ comme ISNULL de SQL ?

Comment gérer les valeurs nullables dans les requêtes LINQ comme ISNULL de SQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-29 20:55:101010parcourir

How to Handle Nullable Values in LINQ Queries Like SQL's ISNULL?

Valeurs nullables dans les requêtes LINQ

En SQL, la fonction ISNULL permet de remplacer une chaîne vide par des valeurs nulles. Lors de la traduction de cette fonctionnalité en requêtes LINQ, une approche similaire peut être adoptée.

Considérez cette requête LINQ qui inclut une jointure avec une colonne de bits nullable nommée xx.En ligne :

var hht = from x in db.HandheldAssets
        join a in db.HandheldDevInfos on x.AssetID equals a.DevName into DevInfo
        from aa in DevInfo.DefaultIfEmpty()
        select new
        {
        AssetID = x.AssetID,
        Status = xx.Online
        };

Pour le compte pour les valeurs nulles potentielles dans aa.Online, un opérateur conditionnel nul peut être utilisé :

select new {
    AssetID = x.AssetID,
    Status = aa == null ? (bool?)null : aa.Online; // a Nullable<bool>
}

Cette vérification garantit que aa n'est pas nul avant accéder à sa propriété en ligne. Si aa est nul, le résultat sera une valeur booléenne nulle.

Une autre option consiste à attribuer une valeur par défaut (par exemple, false) aux valeurs nulles :

select new {
    AssetID = x.AssetID,
    Status = aa == null ? false : aa.Online;
}

Dans ce scénario, les valeurs nulles seront remplacées par la valeur par défaut spécifiée.

En utilisant ces techniques, il est possible de gérer les valeurs nulles dans les requêtes LINQ de la même manière que ISNULL est utilisé en SQL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn