2013-02-19 2 views
0

Привет может кто-то помочь мне, как написать ниже запрос в LINQ, как я новичок в LINQSubquery помощь в LINQ

select * from Employee where employeeid = 'E101' 
or empdept = (select dept from departments where deptid = 'D101') 

Заранее спасибо

+0

Не могли бы вы показать нам, что вы пробовали? –

+0

от e у сотрудника, где (e.employeeid == 'E101')) || e.empdept == (из d в департаменте, где d.deptid == 'D101')) – jestges

ответ

0

Вы можете использовать группу присоединиться

from e in employee 
join d in deparment.Where(x => x.deptid == "D101") 
    on e.empdept equals d.dept into g 
where e.employeeid == "E101" || g.Any() 
select e; 

, который генерирует следующий SQL

DECLARE @p0 NVarChar(1000) = 'E101' 
DECLARE @p1 NVarChar(1000) = 'D101' 

SELECT * 
FROM [employee] AS [t0] 
WHERE ([t0].[employeeid] = @p0) OR (EXISTS(
    SELECT NULL AS [EMPTY] 
    FROM [deparment] AS [t1] 
    WHERE ([t0].[empdept] = [t1].[dept]) AND ([t1].[deptid] = @p1) 
    ))