Linq reemplazar dbnull con cadena en blanco
Pregunta
En este ejemplo, se plantea un error si row.FirstName
o row.LastName
son NULL
.
¿Cómo reescribo el Select
cláusula, para convertir un valor dbnull en una cadena en blanco ""
?
Dim query = From row As myDataSet.myDataRow in myDataSet.Tables("MyData") _
Select row.FirstName, row.LastName
Nota: Dado que el conjunto de datos está fuertemente tipado. Puedo usar row.isFirstNameNull()
, pero IIF(row.isFirstNameNull(), "", row.FirstName)
no funcionará ya que se hace referencia a todos los parámetros.
Solución
En tu nota has mencionado IIf(row.isFirstNameNull(), "", row.FirstName)
reemplazar eso con If(row.isFirstNameNull(), "", row.FirstName)
que no evaluará la parte falsa si la condición es verdadera
Otros consejos
Usar Operador ternario 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é pasa row.FirstName ?? string.Empty
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow