2013-03-28 7 views
3

1- Я использую linq для sql для запроса таблицы базы данных.
2- В моей фактической таблице я храню код страны телефона, номер телефона и телефонное расширение в разных столбцах.
3- Когда я получу данные, мне нужен Телефон, чтобы быть равным конкатенации кода страны телефона, номера телефона и телефона.
4- Для некоторых записей любой из этих трех столбцов может иметь нулевые значения.
5- Если один столбец равен NULL, то вся конкатенация дает нуль.Как объединить два столбца в выделении запроса linq to sql

from s in test 
select new{ 
      Phone = s.PhoneCountryCode + s.PhoneNumber + s.PhoneExtension 
} 

6- Я пробовал следующее, но не работал. Все еще дает null.

from s in test 
select new{ 
      Phone = s.PhoneCountryCode == null ? "" : s.PhoneCountryCode + s.PhoneNumber  == null ? "" : s.PhoneNumber + s.PhoneExtension == null ? "" : s.PhoneExtension 
} 

ответ

5

Вы можете использовать оператор ?? следующим образом:

from s in test 
select new 
{ 
    Phone = (s.PhoneCountryCode ?? "") + (s.PhoneNumber ?? "") + (s.PhoneExtension ?? "") 
} 
Смежные вопросы