我在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