2010-02-27 4 views
1

j'ai fonctionLINQ erreur étrange null

public List<Menu> List(int? parentId) 
     {   
      return (from i in _dataContext.Menu where i.Menu2.Id == parentId select i).ToList(); 

     } 

si je passe null paramètre de fonction (comme la liste (null)) il recherche rien, mais si je mets nulle dans la requête comme celui-ci

return (from i in _dataContext.Menu where i.Menu2.Id == null select i).ToList(); il trouve des enregistrements

quel est le problème?

+0

Qu'est-ce que vous essayez de filtrer la requête LINQ? –

+0

J'ai une table T avec les champs id, parentid, name. Je fais une relation avec propre table donc parentid => id un à plusieurs, donc si parentid = null c'est un enregistrement parent, et si parentid not null c'est un enregistrement enfant. donc je veux obtenir tous les parents – kusanagi

+0

pourriez-vous donner plus de code où vous utilisez la fonction Liste? –

Répondre

0

Confirmer dans le débogueur que vous passez réellement nulle et non 0.