2011-05-05 7 views
0

사용중인 시스템에는 Employees 테이블과 TimesheetHeader 테이블의 두 테이블이 있습니다. TimesheetHeader 테이블에는 외래 키로 employees 테이블의 기본 키가 있습니다. SQL의 쿼리는 정상적으로 작동하지만 C# .net이 인식 할 LINQ 쿼리가 필요합니다.복잡한 LEFT JOIN을 사용하여 SQL 쿼리를 LINQ 쿼리로 변환

SELECT e.Employee, e.Name, t.Status FROM Employees e LEFT JOIN TimesheetHeader t ON 
e.Employee=t.EmployeeID WHERE e.unionID='CUPE 859' AND e.LabourClass='5' AND 
e.Active=1 AND e.RoleID>=3 AND (t.TimesheetDate='02/09/2011' OR ISNULL(t.TimesheetDate,'')='') 

모든 도움말은 매우 좋아할 것입니다. 이 같은

답변

0

뭔가 :

DateTime someDate = new DateTime(2011, 09, 02) 

from e in db.Employees 
join th in db.TimeHeaders.Where(t => t.TimesheetDate == null || t.TimeSheetDate == someDate) 
into TimeSheetHeaders 
where e.unionID = '' && e.LabourClass == '5' && (other conditions go here) 
select new {Employee = e, TimeSheetHeaders} 
관련 문제