将SQL查询转换为LINQ

时间:2010-10-04 05:47:45

标签: linq linq-to-sql

以下是我的SQL查询,希望在LINQ中。有人可以为此提供帮助吗?

SELECT EmpId,Team,_Year FROM Plan
where EmpId in
(
    select EmpId from master where 2150 in (immediatesupervisor,manager)
)

2 个答案:

答案 0 :(得分:0)

我建议你像这样使用连接操作

YourDbEntities db = new YourDbEntities();

var query = from c in db.Plan
            join d in db.master on c.EmpId equals d.EmpId
            where d.ImmediateSupervisor == 2150 || d.Manager == 2150

            select new{
              c.EmpId,
              c.Team,
              c._Year
            };

答案 1 :(得分:0)

尝试:

var q =
from p in dc.Plan
where (
  from m in dc.Master
  where m.ImmediateSupervisor == 2150
     || m.Manager == 2150
  select m.EmpId
  ).Contains(p.EmpId)
select new { p.EmpId, p.Team, p._Year };

常用的linq语法的一个很好的资源是Damien Guard的Linq-to-SQL'备忘单'。这是一个单页面,您可以快速查找这样的事情。见http://damieng.com/blog/2009/08/12/linq-to-sql-cheat-sheet