2010-05-05 21 views
0

J'écris une application Web ASP.NET MVC simple. À ce stade, j'essaie juste d'afficher un DataSet fortement typé sur la vue générée automatiquement. Toutefois, certaines des valeurs dans le DataSet sont null et provoquent des exceptions.Valeurs DBNull sur une vue ASP.NET MVC

Je me demande comment ce scénario simple est géré par d'autres. Il semble excessif d'assainir toutes les valeurs dans l'ensemble de données et d'ailleurs je vais me retrouver avec beaucoup de jeux de données dans le produit final. J'utilise DataSets parce que j'ai un backend Oracle, donc les modèles Entity sont un peu hors de question - je préfère ne pas utiliser des fournisseurs d'échantillons ou de l'argent pour une solution commerciale.

S'il n'y a pas de solution facile pour DataSets, c'est bien. Je voulais juste vérifier avant de plonger dans une personnalisation sérieuse. J'aimerais garder les choses aussi automatisées et conventionnelles que possible.

Merci d'avance.

Répondre

1

Serait-il hors de question de faire quelque chose comme:

<%= (eventClass["MyColumn"] != DBNull.Value) ? eventClass["MyColumn"] : "" %> 

Vous pouvez également convertir en une méthode simple d'extension pour économiser l'espace et les frappes.

HTHS,
Charles

+0

Merci C'était aussi ma première pensée. Ce ne serait pas hors de question, mais cela signifie que je dois le faire pour chaque domaine et mes ensembles de données ont beaucoup de champs. – alexsome

1

Si vous pouvez modifier votre base de données, vous pouvez utiliser la fonction coalesce pour garantir une valeur par défaut non nulle:

select coalesce(first_name, '') as first_name, ... 

ou

select coalesce(parent_id, 0) as parent_id, ... 
+0

Merci pour la suggestion, c'est une solution intéressante. Je vais devoir y réfléchir. – alexsome