Comment en toute sécurité en fonte nullable résultat de sqlreader int?

J'ai une table qui contient les valeurs null et j'ai besoin de récupérer les données de la table à l'aide de SqlDataReader. Je ne peux pas comprendre comment je peux cast DBNull int.

Je suis en train de faire de cette façon pour le moment:

...
reader = command.ExecuteReader();
while (reader.Read()) {
     int y = (reader["PublicationYear"] != null) ? Convert.ToInt32(reader["PublicationYear"]) : 0;
     ...
}
...

mais l'obtention d'un Object cannot be cast from DBNull to other types. quand PublicationYear est null.

Comment puis-je obtenir la valeur en toute sécurité?

Grâce.

InformationsquelleAutor Burjua | 2012-02-21