kongalshiva549 Ответов: 1

Нужно заменить значение NA пробелом в C#


Address1 = (from a in AEDCdb.Test where a.code == b.site select a.Address1 + a.Address2).FirstOrDefault(),


я получаю address2 как NA из бэкэнда , значение NA должно быть пересчитано с пустым пространством

Что я уже пробовал:

Использовал функцию замены, но не работал в этом запросе linq. а также попробовал iif condtion но безуспешно

1 Ответов

Рейтинг:
4

Maciej Los

Попробуйте что-нибудь вроде этого:

Address1 = (from a in AEDCdb.Test where a.code == b.site select string.Concat(a.Address1, a.Address2) == "NA" ? " " : string.Concat(a.Address1, a.Address2)).FirstOrDefault(),


В случае, когда возвращается Адрес2 "на":

Address1 = (from a in AEDCdb.Test where a.code == b.site select string.Concat(a.Address1, (a.Address2 == "NA" ? " " : a.Address2)).FirstOrDefault(),


kongalshiva549

Это действует на Адрес1 и адрес 2

kongalshiva549

В моем случае только адрес2 будет NA

Maciej Los

Итак, измените приведенный выше код в соответствии с вашими потребностями. Теперь вы знаете, как этого добиться!

kongalshiva549

Да я изменился как показано ниже
строка.Функция concat( а.Адрес2=="на" ? "" : а.Адрес2))

Maciej Los

Только не так. Пожалуйста, смотрите обновленный ответ.

kongalshiva549

какой именно?

kongalshiva549

понял

Maciej Los

Супер!
Если это решит вашу проблему, пожалуйста, примите мое решение (зеленая кнопка), чтобы удалить ваш вопрос из списка без ответа.
Ваше здоровье!
Мацей