Ok donc j'ai eu ce travail. Le problème principal était que cela devait comparer null avec null , mais un int ne peut pas être null car il s'agit d'un type valeur.
J'ai donc dû faire quelques ajustements avec mon code et j'ai obtenu que cela fonctionne avec la solution de contournement
int? AreaCode = null;
Cela m'a permis de changer mon code :
mySqlCommand.Parameters["@AreaCode"].Value = (PModel.AreaCode.HasValue ? PModel.AreaCode.Value : object)DBNull.Value );
Pour tous ceux qui ne sont pas au courant de ce qui se passe ici :
L'opérateur ? donne à un type de valeur la possibilité de n'avoir aucune valeur , il peut donc =null .
c'est-à-dire.
int n = 0;
int? n = null;
bool b = false;
bool? b = null;