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!