Проверьте нулевое условие для левой боковой таблицы в левом соединении в Linq - PullRequest
1 голос
/ 10 апреля 2019

Я использую левое соединение в запросе linq.Мне нужно проверить, что левое табличное значение равно нулю или нет в предложении ON.

   join x in employeee on u.id equals x.userId into ux 
   from ujoinx in ux.DefaultIfEmpty()
   join y in department on ujoinx.id equals y.employeeId into xy 
   from xjoiny in xy.DefaultIfEmpty()
   select new {
      EmployeeSal = ujoinx!=null?ujoinx.employeeSal:0, 
      EmployeeTax = ujoinx!=null?ujoinx.employeeTax:0, 
      UserName = u.username,
      DeptName = xjoiny!=null?xjoiny.name:""         
   }

Здесь я хочу проверить, что ujoinx не равно нулю в этом условии соединения.join y in department on ujoinx.id equals y.employeeId into xy.

Есть ли возможность проверить нулевое условие с помощью ujoinx.id equals y.employeeId?

1 Ответ

0 голосов
/ 11 апреля 2019

В своем комментарии вы поместили предложение where в неправильном месте. Вы должны фильтровать до join:

from ujoinx in ux.DefaultIfEmpty()
    where ujoinx != null
    join y in department on ujoinx.id equals y.employeeId
    into xy
...