Linq заменить dbnull на пустую строку
Вопрос
В этом примере возникает ошибка, если либо row.FirstName
или же row.LastName
находятся NULL
.
Как мне переписать Select
пункт, чтобы преобразовать значение dbnull в пустую строку ""
?
Dim query = From row As myDataSet.myDataRow in myDataSet.Tables("MyData") _
Select row.FirstName, row.LastName
Примечание. Поскольку набор данных сильно используется. я могу использовать row.isFirstNameNull()
, но IIF(row.isFirstNameNull(), "", row.FirstName)
не будет работать, поскольку на все параметры ссылаются.
Решение
В своей записке вы упомянули IIf(row.isFirstNameNull(), "", row.FirstName)
заменить это на If(row.isFirstNameNull(), "", row.FirstName)
который не оценит ложную часть, если условие верно
Другие советы
Использовать Тернарный оператор VB "если" :
Dim query = From row As myDataSet.myDataRow in myDataSet.Tables("MyData") _
Select if(row.isFirstNameNull(), "", _
row.FirstName), if(row.isLastNameNull(), "", row.LastName)
как насчет row.FirstName ?? string.Empty
Не связан с StackOverflow