我在Linq非常新手,不知道如何解决一些问题,即使在MS SQL查询中非常容易。如何将临时表与case语句SQL转换为Linq?
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语句
请添加您制作的LINQ,但没有做你以前的工作。 – Bazzz
@Bazzz嗨,请检查,它已更新! – CMMaung