我是 Linq 的新手,不知道如何在 MS SQL 查询中非常容易地解决一些问题。
Select e.EmployeeID
, e.EmployeeName
, e.Division
, e.DepartmentCode
, e.DesignationGrpCode
Into #temp
from chr.dbo.EMPLOYEE e
Where e.DepartmentCode in (
Select DepartmentCode
from chr.dbo.EMPLOYEE
where EmployeeID = 'S-1287'
)
Select * from #temp t
where t.EmployeeID in (
Case When t.Division <> 'CHR' Then (Select EmployeeID from #temp where DesignationGrpCode = 'CorpDMGR')
Else (Select EmployeeID from #temp where DesignationGrpCode = 'MGT') End)
Drop table #temp
如何将此查询转换为 Linq?请
这是我的 linq 声明
var employee = new Common().Employee();
var jobdesc = new Common().JobHistory();
List<EMPLOYEE> dCode = (from e in employee
where e.EmployeeID == "S-1204"
select new EMPLOYEE
{
DepartmentCode = e.DepartmentCode
}).ToList();
List<EMPLOYEE> emp = (from e in employee
join d in dCode on e.DepartmentCode equals d.DepartmentCode into temp
from t in temp.DefaultIfEmpty()
orderby e.EmployeeName
select new EMPLOYEE
{
EmployeeID = e.EmployeeID,
EmployeeName = e.EmployeeName
}).ToList();
但不知道如何检查 CASE ELSE 语句