0

How can I convert this sql statetment to LINQ to Entities?

SQL Statement:

Select * from Departments where DepartmentID  in (Select DepartmentID from Employees where FirstName like '%FirstName%' or LastName like '%LastName%')

All I have is WHERE =(equals) , I can't do the WHERE IN clause

LINQ to Entities:

from t in db.Departments
where
  t.DepartmentID == -->Should be IN not EQUALS
    ((from t0 in db.Employees
    where
      t0.FirstName.Contains("FirstName") ||
      t0.LastName.Contains("LastName")
    select new {
      t0.DepartmentID
    }).FirstOrDefault().DepartmentID)
select t
kirk
  • 997
  • 9
  • 14

2 Answers2

0
(from d in db.Departments
 join e in db.Employees
     on d.DepartmentID equals e.DepartmentID
 where e.FirstName.Contains("FirstName") ||
       e.LastName.Contains("LastName")
 select t).Distinct()
jdl
  • 1,104
  • 8
  • 12
0

u could use this

var x = 
    (from t0 in db.Employees
    where
      t0.FirstName.Contains("FirstName") ||
      t0.LastName.Contains("LastName")
    select new {
      t0.DepartmentID
    }).FirstOrDefault().DepartmentID;

from t in db.Departments
where
  t.DepartmentID.contains(x.DepartmentID)
select t
dArc
  • 342
  • 1
  • 8