LINQ Remplacer DBNull avec chaîne vide
Question
Dans cet exemple, une erreur est augmentée si l'row.FirstName
ou row.LastName
sont NULL
.
Comment puis-je réécrire la clause Select
, pour convertir une valeur DBNull à une ""
de chaîne vide?
Dim query = From row As myDataSet.myDataRow in myDataSet.Tables("MyData") _
Select row.FirstName, row.LastName
NOTE: Étant donné que le DataSet est fortement typé. Je peux utiliser row.isFirstNameNull()
, mais IIF(row.isFirstNameNull(), "", row.FirstName)
ne fonctionnera pas car tous les paramètres sont référencés.
La solution
Dans votre note, vous avez mentionné IIf(row.isFirstNameNull(), "", row.FirstName)
remplacer par If(row.isFirstNameNull(), "", row.FirstName)
qui n'évaluera la partie fausse si la condition est vraie
Autres conseils
Utilisez opérateur ternaire de VB "si":
Dim query = From row As myDataSet.myDataRow in myDataSet.Tables("MyData") _
Select if(row.isFirstNameNull(), "", _
row.FirstName), if(row.isLastNameNull(), "", row.LastName)
Qu'en est-row.FirstName ?? string.Empty
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow