将SQL转换为LINQ转换为实体WHERE IN子句 [英] Convert SQL to LINQ to Entities WHERE IN clause

查看:80
本文介绍了将SQL转换为LINQ转换为实体WHERE IN子句的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何将此sql语句转换为LINQ to Entities?

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

SQL语句:

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


我所拥有的只是WHERE =(equals),我不能执行WHERE IN子句


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

LINQ到实体:

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

推荐答案

(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()

这篇关于将SQL转换为LINQ转换为实体WHERE IN子句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆