mon champ de base de données int_ParentId se composent d'une valeur Null . comment pourrais-je vérifier pour une valeur null dans cette requête linq . il n'est pas de travail
return _db.Categories.Where(m => m.int_ParentId==null);
OriginalL'auteur maztt | 2011-03-07
Vous avez mappé vous
int_ParentId
champ de base de données àint?
type (par exemple,<Column Name="int_ParentId" Type="System.Int32" DbType="Int" CanBeNull="true" />
)? Si oui, à la fois:et
devrait fonctionner.
OriginalL'auteur Alex
Cette question est effectivement pas facile d'y répondre compte tenu de l'absence de contexte que vous fournissez, bien que généralement
_db.Categories.Where(m => m.int_ParentId.Equals(null));
fait ce que vous voulez.Il y a quelques divergences entre la CTS (.Filets de type system) et le système de type SQL.
Voir SQL CLR incompatibilités de Type - MSDN et Null Sémantique - MSDN pour la référence complète.
Surtout les nuls va vous causer des maux de tête si vous ne prenez pas assez de soin, car il a deux sens complètement différent dans le typesystems.
NULL
dans SQL signifie, "valeur absent, ne correspond à aucune comparaison", alors quenull
.NET signifie "pas d'objet, de comparer par rapport à la valeur null sera toujours produire des faux".OriginalL'auteur Johannes Rudolph
Je pense que vous voulez utiliser l'objet
Equals
méthode:OriginalL'auteur Kelsey
J'ai cette requête travail dans ce scénario
Espère que cela aide.
OriginalL'auteur Escarcha