2016-10-28 5 views
0

Я не очень хорошо разбираюсь в linq, кажется, что-то сбивает с толку, но я пробирался сквозь него. У меня есть следующий запрос, который я не могу заставить работать.LINQ Присоединяется к столбцу с нулевым значением

я получаю ошибку:

The value for column 'empl_cctr_id' in table 'temsempl' is dbnull.

Другой присоединиться также может получить ту же ошибку, как хорошо, но с того, что связанными таблицами. Пожалуйста помоги.

Dim query = (From empl In EMS_DS.TEMSEMPL 
      Join cctr In EMS_DS.TEMSCCTR On empl.empl_cctr_id Equals cctr.cctr_id 
      Join ppcd In EMS_DS.TEMSPPCD On empl.empl_ppcd_id Equals ppcd.ppcd_id 
      Where empl.empl_userid.Equals(text.ToString.ToUpper) 
      Select empl.empl_sep_dt, cctr.cctr_cd, ppcd.ppcd_desc).ToList 
+0

Посмотрите в [это] (http://stackoverflow.com/questions/5696888/linq-join-tables-on-nullable-columns). Это может помочь. – Bugs

+0

Да, я видел и пробовал эти предложения, но это не сработало. Моя проблема в соединении, я думаю, – dk96m

+0

Да, похоже. Принятый ответ в этой ссылке имеет два примера. Вы пробовали второй? – Bugs

ответ

0

Dim query = (From empl In EMS_DS.TEMSEMPL Join cctr In EMS_DS.TEMSCCTR On empl.empl_cctr_id Equals cctr.cctr_id into temp from cctr in temp.DefaultIfEmpty() Join ppcd In EMS_DS.TEMSPPCD On empl.empl_ppcd_id Equals ppcd.ppcd_id Where empl.empl_userid.Equals(text.ToString.ToUpper) Select empl.empl_sep_dt, cctr.cctr_cd, ppcd.ppcd_desc).ToList

+2

Хотя этот фрагмент кода может ответить на вопрос OP, ответ будет гораздо более полезен для будущих посетителей, если вы объясните, почему он должен решить проблему. –

Смежные вопросы