Sérialiser un nullable int

J'ai une classe avec un nullable int? type de données défini pour sérialiser comme un élément xml. Est-il possible de configurer de sorte que le sérialiseur xml ne sera pas sérialiser l'élément si la valeur est null?

J'ai essayé d'ajouter le bouton [System.Xml.La sérialisation.XmlElement(IsNullable=false)] attribut, mais je reçois un moteur d'exécution de sérialisation exception disant qu'il y avait une erreur, reflétant le type, parce que "IsNullable ne peut pas être réglé à 'false' pour un type Nullable. Pensez à utiliser le Système de la.Int32 de type ou de retrait de la IsNullable bien de la XmlElement attribut."

[Serializable]
[System.Xml.Serialization.XmlRoot("Score", Namespace = "http://mycomp.com/test/score/v1")]
public class Score
{
    private int? iID_m;
    ...

    ///<summary>
    ///
    ///</summary>        
    public int? ID 
    { 
        get 
        { 
            return iID_m; 
        } 
        set 
        { 
            iID_m = value; 
        } 
    }
     ...
}

La classe ci-dessus va sérialiser à:

<Score xmlns="http://mycomp.com/test/score/v1">
    <ID xsi:nil="true" />
</Score>

Mais pour les Id qui sont nuls je ne veux pas l'ID de l'élément à tous, principalement parce que lorsque j'utilise OPENXML dans MSSQL, elle retourne la valeur 0 au lieu de null pour un élément qui ressemble à

InformationsquelleAutor Jeremy | 2008-10-28