Bonjour,

Je rencontre un problème avec linq to entities.

Pour cerner au mieux le problème, j'ai une table client avec des clients contenant un nom (not null) et un prénom (qui peut être null)

Si j'écris la condition suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 if( (from c in Bdd.Client
               where c.Nom.Equals(clientsource.Nom) 
               &&  c.Prenom.Equals(clientsource.Prenom)
               select c).FirstOrDefault() == null)
           {...
ou évidemment :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
if((from c in Bdd.Client
             where c.Nom == clientsource.Nom 
             && c.Prenom == clientsource.Prenom
             select c).FirstOrDefault() == null)
             {...
Je m'attend à valider la condition SI dans ma base de données il n'y a pas déjà un client avec le même nom et le même prénom que mon client "clientsource".

Or, voici ce que j'obtiens avec 3 exemples simples (nom, prénom) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Base contient          clientsource                    résultat
Albert,Chose           Albert,Chose                    not null (OK)
Albert,Chose           Albert,Machin                   null (OK)
Albert,null            Albert,null                     null (PAS BON)
Bref, si le nom existe déjà dans la base, mais que les prénoms sont null, alors linq to entities considère que les prénoms sont différents.

Quelqu'un peut m'expliquer ce problème qui consiste à constater que null != null?

Merci d'avance

Claude