SELECT PART_TYPE.PART_TYPE_ID,
PART_TYPE.PART_TYPE_NAME,
PART_AVAILABILITY.DATE_REF,
PART_TYPE.VEHICLE_ID,
PART_AVAILABILITY.AVAIL_COUNT
FROM PART_AVAILABILITY
RIGHT JOIN PART_TYPE
ON PART_AVAILABILITY.PART_TYPE_ID = PART_TYPE.PART_TYPE_ID
AND PART_AVAILABILITY.VEHICLE_ID = PART_TYPE.VEHICLE_ID
where PART_TYPE.VEHICLE_ID = 366
PART_TYPE_ID
및 VEHICLE_ID
이 PART_TYPE
테이블에 Primary Key
입니다 오류에 가입하세요. VEHICLE_ID
은 VEHICLE
표의 Foreign Key
입니다.C#을 LINQ는
DATE_REF
, PART_TYPE_ID
및 VEHICLE_ID
은 PART_AVAILABILITY
테이블에 Primary Key
입니다. VEHICLE_ID
및 PART_TYPE_ID
은 에서 PART_TYPE
테이블입니다.
위의 쿼리는 아래 출력을 제공합니다.
PART_TYPE_ID PART_TYPE_NAME DATE_REF VEHICLE_ID AVAIL_COUNT
5 A1 2013-06-20 00:00:00.000 366 1
6 B1 2013-06-20 00:00:00.000 366 2
7 C1 2013-06-20 00:00:00.000 366 1
8 D1 NULL 366 NULL
9 E1 NULL 366 NULL
16 F1 2013-06-20 00:00:00.000 366 1
이 내 linq
위의 쿼리에 대한 쿼리입니다.
var vehiclePartType = from pa in context.PART_AVAILABILITY
join pt in context.PART_TYPE
on pa.PART_TYPE_ID equals pt.PART_TYPE_ID into joined
from j in joined.DefaultIfEmpty()
where j.VEHICLE_ID == 366
select new
{
PART_TYPE = j,
PART_AVAILABILITY = pa
};
그러나 linq 쿼리는 아래 출력을 제공했습니다.
PART_TYPE_ID PART_TYPE_NAME DATE_REF VEHICLE_ID AVAIL_COUNT
5 A1 2013-06-20 00:00:00.000 366 1
6 B1 2013-06-20 00:00:00.000 366 2
7 C1 2013-06-20 00:00:00.000 366 1
16 F1 2013-06-20 00:00:00.000 366 1
NULL
레코드가 누락되었습니다.
어떻게 해결할 수 있습니까? 내가 LINQ와하지만 SQL 쿼리에 너무 익숙하게하지 오전
'선택'의'PART_AVAILABILITY = pa'에서 '이름'이 (가) '현재 컨텍스트에 존재하지 않습니다'오류가 발생했습니다. – Bishan
수정했습니다. 다시 시도하십시오 :) – gzaxx
아니요. 나는 이것을 전에 시도했다. 이것은 또한 내 질문에 반환 출력입니다. 'NULL' 레코드가 없습니다. – Bishan