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
Libérer: 2024-12-29 20:55:10
original
991 Les gens l'ont consulté

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
        };
Copier après la connexion

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>
}
Copier après la connexion

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;
}
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal